1145 integer,
intent(in) :: weno_dir
1146 type(int_bounds_info),
intent(in) :: is
1149 real(wp),
pointer,
dimension(:) :: s_cb => null()
1152 type(int_bounds_info) :: bc_s
1162 if (weno_dir == 1)
then
1163 s = m; s_cb => x_cb; bc_s = bc_x
1164 elseif (weno_dir == 2)
then
1165 s = n; s_cb => y_cb; bc_s = bc_y
1167 s = p; s_cb => z_cb; bc_s = bc_z
1170# 229 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
1172 if (weno_dir == 1)
then
1173 if (weno_order == 3)
then
1174 do i = is%beg - 1 + weno_polyn, is%end - 1 - weno_polyn
1177 (s_cb(i) - s_cb(i + 2))
1179 (s_cb(i - 1) - s_cb(i + 1))
1184 d_cbr_x(0, i + 1) = (s_cb(i - 1) - s_cb(i + 1))/ &
1185 (s_cb(i - 1) - s_cb(i + 2))
1186 d_cbl_x(0, i + 1) = (s_cb(i - 1) - s_cb(i))/ &
1187 (s_cb(i - 1) - s_cb(i + 2))
1192 beta_coef_x(i + 1, 0, 0) = 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp/ &
1193 (s_cb(i) - s_cb(i + 2))**2._wp
1194 beta_coef_x(i + 1, 1, 0) = 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp/ &
1195 (s_cb(i - 1) - s_cb(i + 1))**2._wp
1203 if (null_weights)
then
1204 if (bc_s%beg == bc_riemann_extrap)
then
1209 if (bc_s%end == bc_riemann_extrap)
then
1217 elseif (weno_order == 5)
then
1219 do i = is%beg - 1 + weno_polyn, is%end - 1 - weno_polyn
1222 ((s_cb(i) - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i + 2)))/ &
1223 ((s_cb(i) - s_cb(i + 3))*(s_cb(i + 3) - s_cb(i + 1)))
1225 ((s_cb(i - 1) - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i)))/ &
1226 ((s_cb(i - 1) - s_cb(i + 2))*(s_cb(i + 2) - s_cb(i)))
1228 ((s_cb(i) - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i + 2)))/ &
1229 ((s_cb(i - 1) - s_cb(i + 1))*(s_cb(i - 1) - s_cb(i + 2)))
1231 ((s_cb(i) - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i - 1)))/ &
1232 ((s_cb(i - 2) - s_cb(i))*(s_cb(i - 2) - s_cb(i + 1)))
1234 ((s_cb(i + 1) - s_cb(i))*(s_cb(i) - s_cb(i + 2)))/ &
1235 ((s_cb(i) - s_cb(i + 3))*(s_cb(i + 3) - s_cb(i + 1)))
1237 ((s_cb(i) - s_cb(i - 1))*(s_cb(i) - s_cb(i + 1)))/ &
1238 ((s_cb(i - 1) - s_cb(i + 2))*(s_cb(i) - s_cb(i + 2)))
1240 ((s_cb(i + 1) - s_cb(i))*(s_cb(i) - s_cb(i + 2)))/ &
1241 ((s_cb(i - 1) - s_cb(i + 1))*(s_cb(i - 1) - s_cb(i + 2)))
1243 ((s_cb(i - 1) - s_cb(i))*(s_cb(i) - s_cb(i + 1)))/ &
1244 ((s_cb(i - 2) - s_cb(i))*(s_cb(i - 2) - s_cb(i + 1)))
1247 ((s_cb(i) - s_cb(i + 2)) + (s_cb(i + 1) - s_cb(i + 3)))/ &
1248 ((s_cb(i) - s_cb(i + 2))*(s_cb(i) - s_cb(i + 3)))* &
1249 ((s_cb(i) - s_cb(i + 1)))
1251 ((s_cb(i - 2) - s_cb(i + 1)) + (s_cb(i - 1) - s_cb(i + 1)))/ &
1252 ((s_cb(i - 1) - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i - 2)))* &
1253 ((s_cb(i + 1) - s_cb(i)))
1255 ((s_cb(i) - s_cb(i + 2)) + (s_cb(i) - s_cb(i + 3)))/ &
1256 ((s_cb(i) - s_cb(i + 2))*(s_cb(i) - s_cb(i + 3)))* &
1257 ((s_cb(i + 1) - s_cb(i)))
1259 ((s_cb(i - 2) - s_cb(i)) + (s_cb(i - 1) - s_cb(i + 1)))/ &
1260 ((s_cb(i - 2) - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i - 1)))* &
1261 ((s_cb(i) - s_cb(i + 1)))
1264 ((s_cb(i - 2) - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i - 1)))/ &
1265 ((s_cb(i - 2) - s_cb(i + 3))*(s_cb(i + 3) - s_cb(i - 1)))
1267 ((s_cb(i + 1) - s_cb(i + 2))*(s_cb(i + 1) - s_cb(i + 3)))/ &
1268 ((s_cb(i - 2) - s_cb(i + 2))*(s_cb(i - 2) - s_cb(i + 3)))
1270 ((s_cb(i - 2) - s_cb(i))*(s_cb(i) - s_cb(i - 1)))/ &
1271 ((s_cb(i - 2) - s_cb(i + 3))*(s_cb(i + 3) - s_cb(i - 1)))
1273 ((s_cb(i) - s_cb(i + 2))*(s_cb(i) - s_cb(i + 3)))/ &
1274 ((s_cb(i - 2) - s_cb(i + 2))*(s_cb(i - 2) - s_cb(i + 3)))
1280 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(10._wp*(s_cb(i + 1) - &
1281 s_cb(i))**2._wp + (s_cb(i + 1) - s_cb(i))*(s_cb(i + 2) - &
1282 s_cb(i + 1)) + (s_cb(i + 2) - s_cb(i + 1))**2._wp)/((s_cb(i) - &
1283 s_cb(i + 3))**2._wp*(s_cb(i + 1) - s_cb(i + 3))**2._wp)
1286 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(19._wp*(s_cb(i + 1) - &
1287 s_cb(i))**2._wp - (s_cb(i + 1) - s_cb(i))*(s_cb(i + 3) - &
1288 s_cb(i + 1)) + 2._wp*(s_cb(i + 2) - s_cb(i))*((s_cb(i + 2) - &
1289 s_cb(i)) + (s_cb(i + 3) - s_cb(i + 1))))/((s_cb(i) - &
1290 s_cb(i + 2))*(s_cb(i) - s_cb(i + 3))**2._wp*(s_cb(i + 3) - &
1294 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(10._wp*(s_cb(i + 1) - &
1295 s_cb(i))**2._wp + (s_cb(i + 1) - s_cb(i))*((s_cb(i + 2) - &
1296 s_cb(i)) + (s_cb(i + 3) - s_cb(i + 1))) + ((s_cb(i + 2) - &
1297 s_cb(i)) + (s_cb(i + 3) - s_cb(i + 1)))**2._wp)/((s_cb(i) - &
1298 s_cb(i + 2))**2._wp*(s_cb(i) - s_cb(i + 3))**2._wp)
1301 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(10._wp*(s_cb(i + 1) - &
1302 s_cb(i))**2._wp + (s_cb(i) - s_cb(i - 1))**2._wp + (s_cb(i) - &
1303 s_cb(i - 1))*(s_cb(i + 1) - s_cb(i)))/((s_cb(i - 1) - &
1304 s_cb(i + 2))**2._wp*(s_cb(i) - s_cb(i + 2))**2._wp)
1307 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*((s_cb(i) - &
1308 s_cb(i + 1))*((s_cb(i) - s_cb(i - 1)) + 20._wp*(s_cb(i + 1) - &
1309 s_cb(i))) + (2._wp*(s_cb(i) - s_cb(i - 1)) + (s_cb(i + 1) - &
1310 s_cb(i)))*(s_cb(i + 2) - s_cb(i)))/((s_cb(i + 1) - &
1311 s_cb(i - 1))*(s_cb(i - 1) - s_cb(i + 2))**2._wp*(s_cb(i + 2) - &
1315 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(10._wp*(s_cb(i + 1) - &
1316 s_cb(i))**2._wp + (s_cb(i + 1) - s_cb(i))*(s_cb(i + 2) - &
1317 s_cb(i + 1)) + (s_cb(i + 2) - s_cb(i + 1))**2._wp)/ &
1318 ((s_cb(i - 1) - s_cb(i + 1))**2._wp*(s_cb(i - 1) - &
1319 s_cb(i + 2))**2._wp)
1322 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(12._wp*(s_cb(i + 1) - &
1323 s_cb(i))**2._wp + ((s_cb(i) - s_cb(i - 2)) + (s_cb(i) - &
1324 s_cb(i - 1)))**2._wp + 3._wp*((s_cb(i) - s_cb(i - 2)) + &
1325 (s_cb(i) - s_cb(i - 1)))*(s_cb(i + 1) - s_cb(i)))/ &
1326 ((s_cb(i - 2) - s_cb(i + 1))**2._wp*(s_cb(i - 1) - &
1327 s_cb(i + 1))**2._wp)
1330 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(19._wp*(s_cb(i + 1) - &
1331 s_cb(i))**2._wp + ((s_cb(i) - s_cb(i - 2))*(s_cb(i) - &
1332 s_cb(i + 1))) + 2._wp*(s_cb(i + 1) - s_cb(i - 1))*((s_cb(i) - &
1333 s_cb(i - 2)) + (s_cb(i + 1) - s_cb(i - 1))))/((s_cb(i - 2) - &
1334 s_cb(i))*(s_cb(i - 2) - s_cb(i + 1))**2._wp*(s_cb(i + 1) - &
1338 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(10._wp*(s_cb(i + 1) - &
1339 s_cb(i))**2._wp + (s_cb(i) - s_cb(i - 1))**2._wp + (s_cb(i) - &
1340 s_cb(i - 1))*(s_cb(i + 1) - s_cb(i)))/((s_cb(i - 2) - &
1341 s_cb(i))**2._wp*(s_cb(i - 2) - s_cb(i + 1))**2._wp)
1349 if (null_weights)
then
1350 if (bc_s%beg == bc_riemann_extrap)
then
1357 if (bc_s%end == bc_riemann_extrap)
then
1367 if (.not. teno)
then
1369 do i = is%beg - 1 + weno_polyn, is%end - 1 - weno_polyn
1382 w = s_cb(i - 3:i + 4) - s_cb(i)
1383 d_cbr_x(0, i + 1) = ((w(5) - w(6))*(w(5) - w(7))*(w(5) - w(8)))/((w(1) - w(6))*(w(1) - w(7))*(w(1) - w(8)))
1384 d_cbr_x(1, i + 1) = ((w(1) - w(5))*(w(5) - w(7))*(w(5) - w(8))*(w(1)*w(2) - w(1)*w(6) - w(1)*w(7) - w(2)*w(6) - w(1)*w(8) - w(2)*w(7) - w(2)*w(8) + w(6)*w(7) + w(6)*w(8) + w(7)*w(8) + w(1)**2 + w(2)**2))/((w(1) - w(6))*(w(1) - w(7))*(w(1) - w(8))*(w(2) - w(7))*(w(2) - w(8)))
1385 d_cbr_x(2, i + 1) = ((w(1) - w(5))*(w(2) - w(5))*(w(5) - w(8))*(w(1)*w(2) + w(1)*w(3) + w(2)*w(3) - w(1)*w(7) - w(1)*w(8) - w(2)*w(7) - w(2)*w(8) - w(3)*w(7) - w(3)*w(8) + w(7)*w(8) + w(7)**2 + w(8)**2))/((w(1) - w(7))*(w(1) - w(8))*(w(2) - w(7))*(w(2) - w(8))*(w(3) - w(8)))
1386 d_cbr_x(3, i + 1) = ((w(1) - w(5))*(w(2) - w(5))*(w(3) - w(5)))/((w(1) - w(8))*(w(2) - w(8))*(w(3) - w(8)))
1388 w = s_cb(i + 4:i - 3:-1) - s_cb(i)
1389 d_cbl_x(0, i + 1) = ((w(1) - w(5))*(w(2) - w(5))*(w(3) - w(5)))/((w(1) - w(8))*(w(2) - w(8))*(w(3) - w(8)))
1390 d_cbl_x(1, i + 1) = ((w(1) - w(5))*(w(2) - w(5))*(w(5) - w(8))*(w(1)*w(2) + w(1)*w(3) + w(2)*w(3) - w(1)*w(7) - w(1)*w(8) - w(2)*w(7) - w(2)*w(8) - w(3)*w(7) - w(3)*w(8) + w(7)*w(8) + w(7)**2 + w(8)**2))/((w(1) - w(7))*(w(1) - w(8))*(w(2) - w(7))*(w(2) - w(8))*(w(3) - w(8)))
1391 d_cbl_x(2, i + 1) = ((w(1) - w(5))*(w(5) - w(7))*(w(5) - w(8))*(w(1)*w(2) - w(1)*w(6) - w(1)*w(7) - w(2)*w(6) - w(1)*w(8) - w(2)*w(7) - w(2)*w(8) + w(6)*w(7) + w(6)*w(8) + w(7)*w(8) + w(1)**2 + w(2)**2))/((w(1) - w(6))*(w(1) - w(7))*(w(1) - w(8))*(w(2) - w(7))*(w(2) - w(8)))
1392 d_cbl_x(3, i + 1) = ((w(5) - w(6))*(w(5) - w(7))*(w(5) - w(8)))/((w(1) - w(6))*(w(1) - w(7))*(w(1) - w(8)))
1395 y = s_cb(i + 1:i + 4) - s_cb(i:i + 3)
1396 poly_coef_cbr_x(i + 1, 0, 0) = (y(1)*y(2)*(y(2) + y(3)))/((y(3) + y(4))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
1397 poly_coef_cbr_x(i + 1, 0, 1) = -(y(1)*y(2)*(3*y(2)**2 + 6*y(2)*y(3) + 3*y(2)*y(4) + 2*y(1)*y(2) + 3*y(3)**2 + 3*y(3)*y(4) + 2*y(1)*y(3) + y(4)**2 + y(1)*y(4)))/((y(2) + y(3))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
1398 poly_coef_cbr_x(i + 1, 0, 2) = (y(1)*(y(1)**2 + 3*y(1)*y(2) + 2*y(1)*y(3) + y(4)*y(1) + 3*y(2)**2 + 4*y(2)*y(3) + 2*y(4)*y(2) + y(3)**2 + y(4)*y(3)))/((y(1) + y(2))*(y(1) + y(2) + y(3))*(y(1) + y(2) + y(3) + y(4)))
1400 y = s_cb(i:i + 3) - s_cb(i - 1:i + 2)
1401 poly_coef_cbr_x(i + 1, 1, 0) = -(y(2)*y(3)*(y(1) + y(2)))/((y(3) + y(4))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
1402 poly_coef_cbr_x(i + 1, 1, 1) = (y(2)*(y(1) + y(2))*(y(2)**2 + 4*y(2)*y(3) + 2*y(2)*y(4) + y(1)*y(2) + 3*y(3)**2 + 3*y(3)*y(4) + 2*y(1)*y(3) + y(4)**2 + y(1)*y(4)))/((y(2) + y(3))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
1403 poly_coef_cbr_x(i + 1, 1, 2) = (y(2)*y(3)*(y(3) + y(4)))/((y(1) + y(2))*(y(1) + y(2) + y(3))*(y(1) + y(2) + y(3) + y(4)))
1405 y = s_cb(i - 1:i + 2) - s_cb(i - 2:i + 1)
1406 poly_coef_cbr_x(i + 1, 2, 0) = (y(3)*(y(2) + y(3))*(y(1) + y(2) + y(3)))/((y(3) + y(4))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
1407 poly_coef_cbr_x(i + 1, 2, 1) = (y(3)*y(4)*(y(1)**2 + 3*y(1)*y(2) + 3*y(1)*y(3) + y(4)*y(1) + 3*y(2)**2 + 6*y(2)*y(3) + 2*y(4)*y(2) + 3*y(3)**2 + 2*y(4)*y(3)))/((y(2) + y(3))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
1408 poly_coef_cbr_x(i + 1, 2, 2) = -(y(3)*y(4)*(y(2) + y(3)))/((y(1) + y(2))*(y(1) + y(2) + y(3))*(y(1) + y(2) + y(3) + y(4)))
1410 y = s_cb(i - 2:i + 1) - s_cb(i - 3:i)
1411 poly_coef_cbr_x(i + 1, 3, 0) = (y(4)*(y(2)**2 + 4*y(2)*y(3) + 4*y(2)*y(4) + y(1)*y(2) + 3*y(3)**2 + 6*y(3)*y(4) + 2*y(1)*y(3) + 3*y(4)**2 + 2*y(1)*y(4)))/((y(3) + y(4))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
1412 poly_coef_cbr_x(i + 1, 3, 1) = -(y(4)*(y(3) + y(4))*(y(1)**2 + 3*y(1)*y(2) + 3*y(1)*y(3) + 2*y(1)*y(4) + 3*y(2)**2 + 6*y(2)*y(3) + 4*y(2)*y(4) + 3*y(3)**2 + 4*y(3)*y(4) + y(4)**2))/((y(2) + y(3))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
1413 poly_coef_cbr_x(i + 1, 3, 2) = (y(4)*(y(3) + y(4))*(y(2) + y(3) + y(4)))/((y(1) + y(2))*(y(1) + y(2) + y(3))*(y(1) + y(2) + y(3) + y(4)))
1415 y = s_cb(i + 1:i - 2:-1) - s_cb(i:i - 3:-1)
1416 poly_coef_cbl_x(i + 1, 3, 2) = (y(1)*y(2)*(y(2) + y(3)))/((y(3) + y(4))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
1417 poly_coef_cbl_x(i + 1, 3, 1) = -(y(1)*y(2)*(3*y(2)**2 + 6*y(2)*y(3) + 3*y(2)*y(4) + 2*y(1)*y(2) + 3*y(3)**2 + 3*y(3)*y(4) + 2*y(1)*y(3) + y(4)**2 + y(1)*y(4)))/((y(2) + y(3))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
1418 poly_coef_cbl_x(i + 1, 3, 0) = (y(1)*(y(1)**2 + 3*y(1)*y(2) + 2*y(1)*y(3) + y(4)*y(1) + 3*y(2)**2 + 4*y(2)*y(3) + 2*y(4)*y(2) + y(3)**2 + y(4)*y(3)))/((y(1) + y(2))*(y(1) + y(2) + y(3))*(y(1) + y(2) + y(3) + y(4)))
1420 y = s_cb(i + 2:i - 1:-1) - s_cb(i + 1:i - 2:-1)
1421 poly_coef_cbl_x(i + 1, 2, 2) = -(y(2)*y(3)*(y(1) + y(2)))/((y(3) + y(4))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
1422 poly_coef_cbl_x(i + 1, 2, 1) = (y(2)*(y(1) + y(2))*(y(2)**2 + 4*y(2)*y(3) + 2*y(2)*y(4) + y(1)*y(2) + 3*y(3)**2 + 3*y(3)*y(4) + 2*y(1)*y(3) + y(4)**2 + y(1)*y(4)))/((y(2) + y(3))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
1423 poly_coef_cbl_x(i + 1, 2, 0) = (y(2)*y(3)*(y(3) + y(4)))/((y(1) + y(2))*(y(1) + y(2) + y(3))*(y(1) + y(2) + y(3) + y(4)))
1425 y = s_cb(i + 3:i:-1) - s_cb(i + 2:i - 1:-1)
1426 poly_coef_cbl_x(i + 1, 1, 2) = (y(3)*(y(2) + y(3))*(y(1) + y(2) + y(3)))/((y(3) + y(4))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
1427 poly_coef_cbl_x(i + 1, 1, 1) = (y(3)*y(4)*(y(1)**2 + 3*y(1)*y(2) + 3*y(1)*y(3) + y(4)*y(1) + 3*y(2)**2 + 6*y(2)*y(3) + 2*y(4)*y(2) + 3*y(3)**2 + 2*y(4)*y(3)))/((y(2) + y(3))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
1428 poly_coef_cbl_x(i + 1, 1, 0) = -(y(3)*y(4)*(y(2) + y(3)))/((y(1) + y(2))*(y(1) + y(2) + y(3))*(y(1) + y(2) + y(3) + y(4)))
1430 y = s_cb(i + 4:i + 1:-1) - s_cb(i + 3:i:-1)
1431 poly_coef_cbl_x(i + 1, 0, 2) = (y(4)*(y(2)**2 + 4*y(2)*y(3) + 4*y(2)*y(4) + y(1)*y(2) + 3*y(3)**2 + 6*y(3)*y(4) + 2*y(1)*y(3) + 3*y(4)**2 + 2*y(1)*y(4)))/((y(3) + y(4))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
1432 poly_coef_cbl_x(i + 1, 0, 1) = -(y(4)*(y(3) + y(4))*(y(1)**2 + 3*y(1)*y(2) + 3*y(1)*y(3) + 2*y(1)*y(4) + 3*y(2)**2 + 6*y(2)*y(3) + 4*y(2)*y(4) + 3*y(3)**2 + 4*y(3)*y(4) + y(4)**2))/((y(2) + y(3))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
1433 poly_coef_cbl_x(i + 1, 0, 0) = (y(4)*(y(3) + y(4))*(y(2) + y(3) + y(4)))/((y(1) + y(2))*(y(1) + y(2) + y(3))*(y(1) + y(2) + y(3) + y(4)))
1438 y = s_cb(i - 2:i + 1) - s_cb(i - 3:i)
1439 beta_coef_x(i + 1, 3, 0) = (4*y(4)**2*(5*y(1)**2*y(2)**2 + 20*y(1)**2*y(2)*y(3) + 15*y(1)**2*y(2)*y(4) + 20*y(1)**2*y(3)**2 + 30*y(1)**2*y(3)*y(4) + 60*y(1)**2*y(4)**2 + 10*y(1)*y(2)**3 + 60*y(1)*y(2)**2*y(3) + 45*y(1)*y(2)**2*y(4) + 110*y(1)*y(2)*y(3)**2 + 165*y(1)*y(2)*y(3)*y(4) &
1440 + 260*y(1)*y(2)*y(4)**2 + 60*y(1)*y(3)**3 + 135*y(1)*y(3)**2*y(4) + 400*y(1)*y(3)*y(4)**2 + 225*y(1)*y(4)**3 + 5*y(2)**4 + 40*y(2)**3*y(3) + 30*y(2)**3*y(4) + 110*y(2)**2*y(3)**2 + 165*y(2)**2*y(3)*y(4) + 260*y(2)**2*y(4)**2 + 120*y(2)*y(3)**3 &
1441 + 270*y(2)*y(3)**2*y(4) + 800*y(2)*y(3)*y(4)**2 + 450*y(2)*y(4)**3 + 45*y(3)**4 + 135*y(3)**3*y(4) + 600*y(3)**2*y(4)**2 + 675*y(3)*y(4)**3 + 996*y(4)**4))/(5*(y(3) + y(4))**2*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4))**2)
1442 beta_coef_x(i + 1, 3, 1) = -(4*y(4)**2*(10*y(1)**3*y(2)*y(3) + 5*y(1)**3*y(2)*y(4) + 20*y(1)**3*y(3)**2 + 25*y(1)**3*y(3)*y(4) + 105*y(1)**3*y(4)**2 + 40*y(1)**2*y(2)**2*y(3) + 20*y(1)**2*y(2)**2*y(4) + 130*y(1)**2*y(2)*y(3)**2 + 155*y(1)**2*y(2)*y(3)*y(4) + 535*y(1)**2*y(2)*y(4)**2 &
1443 + 90*y(1)**2*y(3)**3 + 165*y(1)**2*y(3)**2*y(4) + 790*y(1)**2*y(3)*y(4)**2 + 415*y(1)**2*y(4)**3 + 60*y(1)*y(2)**3*y(3) + 30*y(1)*y(2)**3*y(4) + 270*y(1)*y(2)**2*y(3)**2 + 315*y(1)*y(2)**2*y(3)*y(4) + 975*y(1)*y(2)**2*y(4)**2 + 360*y(1)*y(2)*y(3)**3 &
1444 + 645*y(1)*y(2)*y(3)**2*y(4) + 2850*y(1)*y(2)*y(3)*y(4)**2 + 1460*y(1)*y(2)*y(4)**3 + 150*y(1)*y(3)**4 + 360*y(1)*y(3)**3*y(4) + 2000*y(1)*y(3)**2*y(4)**2 + 2005*y(1)*y(3)*y(4)**3 + 2077*y(1)*y(4)**4 + 30*y(2)**4*y(3) + 15*y(2)**4*y(4) + 180*y(2)**3*y(3)**2 &
1445 + 210*y(2)**3*y(3)*y(4) + 650*y(2)**3*y(4)**2 + 360*y(2)**2*y(3)**3 + 645*y(2)**2*y(3)**2*y(4) + 2850*y(2)**2*y(3)*y(4)**2 + 1460*y(2)**2*y(4)**3 + 300*y(2)*y(3)**4 + 720*y(2)*y(3)**3*y(4) + 4000*y(2)*y(3)**2*y(4)**2 + 4010*y(2)*y(3)*y(4)**3 + 4154*y(2)*y(4)**4 &
1446 + 90*y(3)**5 + 270*y(3)**4*y(4) + 1800*y(3)**3*y(4)**2 + 2655*y(3)**2*y(4)**3 + 4464*y(3)*y(4)**4 + 1767*y(4)**5))/(5*(y(2) + y(3))*(y(3) + y(4))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4))**2)
1447 beta_coef_x(i + 1, 3, 2) = (4*y(4)**2*(10*y(2)**3*y(3) + 5*y(2)**3*y(4) + 50*y(2)**2*y(3)**2 + 60*y(2)**2*y(3)*y(4) + 10*y(1)*y(2)**2*y(3) + 215*y(2)**2*y(4)**2 + 5*y(1)*y(2)**2*y(4) + 70*y(2)*y(3)**3 + 130*y(2)*y(3)**2*y(4) + 30*y(1)*y(2)*y(3)**2 + 775*y(2)*y(3)*y(4)**2 &
1448 + 35*y(1)*y(2)*y(3)*y(4) + 415*y(2)*y(4)**3 + 110*y(1)*y(2)*y(4)**2 + 30*y(3)**4 + 75*y(3)**3*y(4) + 20*y(1)*y(3)**3 + 665*y(3)**2*y(4)**2 + 35*y(1)*y(3)**2*y(4) + 725*y(3)*y(4)**3 + 220*y(1)*y(3)*y(4)**2 + 1767*y(4)**4 + 105*y(1)*y(4)**3)) &
1449 /(5*(y(1) + y(2))*(y(3) + y(4))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4))**2)
1450 beta_coef_x(i + 1, 3, 3) = (4*y(4)**2*(5*y(1)**4*y(3)**2 + 5*y(1)**4*y(3)*y(4) + 50*y(1)**4*y(4)**2 + 30*y(1)**3*y(2)*y(3)**2 + 30*y(1)**3*y(2)*y(3)*y(4) + 300*y(1)**3*y(2)*y(4)**2 + 30*y(1)**3*y(3)**3 + 45*y(1)**3*y(3)**2*y(4) + 415*y(1)**3*y(3)*y(4)**2 + 200*y(1)**3*y(4)**3 &
1451 + 75*y(1)**2*y(2)**2*y(3)**2 + 75*y(1)**2*y(2)**2*y(3)*y(4) + 750*y(1)**2*y(2)**2*y(4)**2 + 150*y(1)**2*y(2)*y(3)**3 + 225*y(1)**2*y(2)*y(3)**2*y(4) + 2075*y(1)**2*y(2)*y(3)*y(4)**2 + 1000*y(1)**2*y(2)*y(4)**3 + 75*y(1)**2*y(3)**4 + 150*y(1)**2*y(3)**3*y(4) &
1452 + 1390*y(1)**2*y(3)**2*y(4)**2 + 1315*y(1)**2*y(3)*y(4)**3 + 1081*y(1)**2*y(4)**4 + 90*y(1)*y(2)**3*y(3)**2 + 90*y(1)*y(2)**3*y(3)*y(4) + 900*y(1)*y(2)**3*y(4)**2 + 270*y(1)*y(2)**2*y(3)**3 + 405*y(1)*y(2)**2*y(3)**2*y(4) + 3735*y(1)*y(2)**2*y(3)*y(4)**2 &
1453 + 1800*y(1)*y(2)**2*y(4)**3 + 270*y(1)*y(2)*y(3)**4 + 540*y(1)*y(2)*y(3)**3*y(4) + 5025*y(1)*y(2)*y(3)**2*y(4)**2 + 4755*y(1)*y(2)*y(3)*y(4)**3 + 4224*y(1)*y(2)*y(4)**4 + 90*y(1)*y(3)**5 + 225*y(1)*y(3)**4*y(4) + 2190*y(1)*y(3)**3*y(4)**2 + 3060*y(1)*y(3)**2*y(4)**3 &
1454 + 4529*y(1)*y(3)*y(4)**4 + 1762*y(1)*y(4)**5 + 45*y(2)**4*y(3)**2 + 45*y(2)**4*y(3)*y(4) + 450*y(2)**4*y(4)**2 + 180*y(2)**3*y(3)**3 + 270*y(2)**3*y(3)**2*y(4) + 2490*y(2)**3*y(3)*y(4)**2 + 1200*y(2)**3*y(4)**3 + 270*y(2)**2*y(3)**4 + 540*y(2)**2*y(3)**3*y(4) &
1455 + 5025*y(2)**2*y(3)**2*y(4)**2 + 4755*y(2)**2*y(3)*y(4)**3 + 4224*y(2)**2*y(4)**4 + 180*y(2)*y(3)**5 + 450*y(2)*y(3)**4*y(4) + 4380*y(2)*y(3)**3*y(4)**2 + 6120*y(2)*y(3)**2*y(4)**3 + 9058*y(2)*y(3)*y(4)**4 + 3524*y(2)*y(4)**5 + 45*y(3)**6 + 135*y(3)**5*y(4) &
1456 + 1395*y(3)**4*y(4)**2 + 2565*y(3)**3*y(4)**3 + 4884*y(3)**2*y(4)**4 + 3624*y(3)*y(4)**5 + 831*y(4)**6))/(5*(y(2) + y(3))**2*(y(1) + y(2) + y(3))**2*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4))**2)
1457 beta_coef_x(i + 1, 3, 4) = -(4*y(4)**2*(10*y(1)**2*y(2)*y(3)**2 + 10*y(1)**2*y(2)*y(3)*y(4) + 100*y(1)**2*y(2)*y(4)**2 + 10*y(1)**2*y(3)**3 + 15*y(1)**2*y(3)**2*y(4) + 205*y(1)**2*y(3)*y(4)**2 + 100*y(1)**2*y(4)**3 + 30*y(1)*y(2)**2*y(3)**2 + 30*y(1)*y(2)**2*y(3)*y(4) &
1458 + 300*y(1)*y(2)**2*y(4)**2 + 60*y(1)*y(2)*y(3)**3 + 90*y(1)*y(2)*y(3)**2*y(4) + 1030*y(1)*y(2)*y(3)*y(4)**2 + 500*y(1)*y(2)*y(4)**3 + 30*y(1)*y(3)**4 + 60*y(1)*y(3)**3*y(4) + 835*y(1)*y(3)**2*y(4)**2 + 805*y(1)*y(3)*y(4)**3 + 1762*y(1)*y(4)**4 + 30*y(2)**3*y(3)**2 &
1459 + 30*y(2)**3*y(3)*y(4) + 300*y(2)**3*y(4)**2 + 90*y(2)**2*y(3)**3 + 135*y(2)**2*y(3)**2*y(4) + 1445*y(2)**2*y(3)*y(4)**2 + 700*y(2)**2*y(4)**3 + 90*y(2)*y(3)**4 + 180*y(2)*y(3)**3*y(4) + 2205*y(2)*y(3)**2*y(4)**2 + 2115*y(2)*y(3)*y(4)**3 + 3624*y(2)*y(4)**4 &
1460 + 30*y(3)**5 + 75*y(3)**4*y(4) + 1060*y(3)**3*y(4)**2 + 1515*y(3)**2*y(4)**3 + 3824*y(3)*y(4)**4 + 1662*y(4)**5))/(5*(y(1) + y(2))*(y(2) + y(3))*(y(1) + y(2) + y(3))**2*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4))**2)
1461 beta_coef_x(i + 1, 3, 5) = (4*y(4)**2*(5*y(2)**2*y(3)**2 + 5*y(2)**2*y(3)*y(4) + 50*y(2)**2*y(4)**2 + 10*y(2)*y(3)**3 + 15*y(2)*y(3)**2*y(4) + 205*y(2)*y(3)*y(4)**2 + 100*y(2)*y(4)**3 + 5*y(3)**4 + 10*y(3)**3*y(4) + 205*y(3)**2*y(4)**2 + 200*y(3)*y(4)**3 + 831*y(4)**4))/(5*(y(1) &
1462 + y(2))**2*(y(1) + y(2) + y(3))**2*(y(1) + y(2) + y(3) + y(4))**2)
1464 y = s_cb(i - 1:i + 2) - s_cb(i - 2:i + 1)
1465 beta_coef_x(i + 1, 2, 0) = (4*y(3)**2*(5*y(1)**2*y(2)**2 + 5*y(1)**2*y(2)*y(3) + 50*y(1)**2*y(3)**2 + 10*y(1)*y(2)**3 + 15*y(1)*y(2)**2*y(3) + 205*y(1)*y(2)*y(3)**2 + 100*y(1)*y(3)**3 + 5*y(2)**4 + 10*y(2)**3*y(3) + 205*y(2)**2*y(3)**2 + 200*y(2)*y(3)**3 + 831*y(3)**4))/(5*(y(3) &
1466 + y(4))**2*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4))**2)
1467 beta_coef_x(i + 1, 2, 1) = (4*y(3)**2*(5*y(1)**3*y(2)*y(3) + 10*y(1)**3*y(2)*y(4) - 95*y(1)**3*y(3)**2 + 5*y(1)**3*y(3)*y(4) + 20*y(1)**2*y(2)**2*y(3) + 40*y(1)**2*y(2)**2*y(4) - 465*y(1)**2*y(2)*y(3)**2 + 55*y(1)**2*y(2)*y(3)*y(4) + 10*y(1)**2*y(2)*y(4)**2 - 285*y(1)**2*y(3)**3 &
1468 + 20*y(1)**2*y(3)**2*y(4) + 5*y(1)**2*y(3)*y(4)**2 + 30*y(1)*y(2)**3*y(3) + 60*y(1)*y(2)**3*y(4) - 825*y(1)*y(2)**2*y(3)**2 + 135*y(1)*y(2)**2*y(3)*y(4) + 30*y(1)*y(2)**2*y(4)**2 - 1040*y(1)*y(2)*y(3)**3 + 100*y(1)*y(2)*y(3)**2*y(4) + 35*y(1)*y(2)*y(3)*y(4)**2 &
1469 - 1847*y(1)*y(3)**4 + 125*y(1)*y(3)**3*y(4) + 110*y(1)*y(3)**2*y(4)**2 + 15*y(2)**4*y(3) + 30*y(2)**4*y(4) - 550*y(2)**3*y(3)**2 + 90*y(2)**3*y(3)*y(4) + 20*y(2)**3*y(4)**2 - 1040*y(2)**2*y(3)**3 + 100*y(2)**2*y(3)**2*y(4) + 35*y(2)**2*y(3)*y(4)**2 &
1470 - 3694*y(2)*y(3)**4 + 250*y(2)*y(3)**3*y(4) + 220*y(2)*y(3)**2*y(4)**2 - 3219*y(3)**5 - 1452*y(3)**4*y(4) + 105*y(3)**3*y(4)**2))/(5*(y(2) + y(3))*(y(3) + y(4))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4))**2)
1471 beta_coef_x(i + 1, 2, 2) = -(4*y(3)**2*(5*y(2)**3*y(3) - 95*y(2)*y(3)**3 - 190*y(2)**2*y(3)**2 + 10*y(2)**3*y(4) + 100*y(3)**3*y(4) - 1562*y(3)**4 - 95*y(1)*y(2)*y(3)**2 + 5*y(1)*y(2)**2*y(3) + 10*y(1)*y(2)**2*y(4) + 100*y(1)*y(3)**2*y(4) + 205*y(2)*y(3)**2*y(4) &
1472 + 15*y(2)**2*y(3)*y(4) + 10*y(1)*y(2)*y(3)*y(4)))/(5*(y(1) + y(2))*(y(3) + y(4))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4))**2)
1473 beta_coef_x(i + 1, 2, 3) = (4*y(3)**2*(50*y(1)**4*y(3)**2 + 5*y(1)**4*y(3)*y(4) + 5*y(1)**4*y(4)**2 + 300*y(1)**3*y(2)*y(3)**2 + 30*y(1)**3*y(2)*y(3)*y(4) + 30*y(1)**3*y(2)*y(4)**2 + 200*y(1)**3*y(3)**3 + 25*y(1)**3*y(3)**2*y(4) + 35*y(1)**3*y(3)*y(4)**2 + 10*y(1)**3*y(4)**3 &
1474 + 750*y(1)**2*y(2)**2*y(3)**2 + 75*y(1)**2*y(2)**2*y(3)*y(4) + 75*y(1)**2*y(2)**2*y(4)**2 + 1000*y(1)**2*y(2)*y(3)**3 + 125*y(1)**2*y(2)*y(3)**2*y(4) + 175*y(1)**2*y(2)*y(3)*y(4)**2 + 50*y(1)**2*y(2)*y(4)**3 + 1081*y(1)**2*y(3)**4 - 50*y(1)**2*y(3)**3*y(4) &
1475 - 10*y(1)**2*y(3)**2*y(4)**2 + 45*y(1)**2*y(3)*y(4)**3 + 5*y(1)**2*y(4)**4 + 900*y(1)*y(2)**3*y(3)**2 + 90*y(1)*y(2)**3*y(3)*y(4) + 90*y(1)*y(2)**3*y(4)**2 + 1800*y(1)*y(2)**2*y(3)**3 + 225*y(1)*y(2)**2*y(3)**2*y(4) + 315*y(1)*y(2)**2*y(3)*y(4)**2 &
1476 + 90*y(1)*y(2)**2*y(4)**3 + 4224*y(1)*y(2)*y(3)**4 - 120*y(1)*y(2)*y(3)**3*y(4) + 25*y(1)*y(2)*y(3)**2*y(4)**2 + 165*y(1)*y(2)*y(3)*y(4)**3 + 20*y(1)*y(2)*y(4)**4 + 3324*y(1)*y(3)**5 + 1407*y(1)*y(3)**4*y(4) - 100*y(1)*y(3)**3*y(4)**2 + 70*y(1)*y(3)**2*y(4)**3 &
1477 + 15*y(1)*y(3)*y(4)**4 + 450*y(2)**4*y(3)**2 + 45*y(2)**4*y(3)*y(4) + 45*y(2)**4*y(4)**2 + 1200*y(2)**3*y(3)**3 + 150*y(2)**3*y(3)**2*y(4) + 210*y(2)**3*y(3)*y(4)**2 + 60*y(2)**3*y(4)**3 + 4224*y(2)**2*y(3)**4 - 120*y(2)**2*y(3)**3*y(4) + 25*y(2)**2*y(3)**2*y(4)**2 &
1478 + 165*y(2)**2*y(3)*y(4)**3 + 20*y(2)**2*y(4)**4 + 6648*y(2)*y(3)**5 + 2814*y(2)*y(3)**4*y(4) - 200*y(2)*y(3)**3*y(4)**2 + 140*y(2)*y(3)**2*y(4)**3 + 30*y(2)*y(3)*y(4)**4 + 3174*y(3)**6 + 3039*y(3)**5*y(4) + 771*y(3)**4*y(4)**2 + 135*y(3)**3*y(4)**3 + 60*y(3)**2*y(4)**4)) &
1479 /(5*(y(2) + y(3))**2*(y(1) + y(2) + y(3))**2*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4))**2)
1480 beta_coef_x(i + 1, 2, 4) = -(4*y(3)**2*(100*y(1)**2*y(2)*y(3)**2 + 10*y(1)**2*y(2)*y(3)*y(4) + 10*y(1)**2*y(2)*y(4)**2 - 95*y(1)**2*y(3)**2*y(4) + 5*y(1)**2*y(3)*y(4)**2 + 300*y(1)*y(2)**2*y(3)**2 + 30*y(1)*y(2)**2*y(3)*y(4) + 30*y(1)*y(2)**2*y(4)**2 + 200*y(1)*y(2)*y(3)**3 &
1481 - 260*y(1)*y(2)*y(3)**2*y(4) + 50*y(1)*y(2)*y(3)*y(4)**2 + 10*y(1)*y(2)*y(4)**3 + 1562*y(1)*y(3)**4 - 190*y(1)*y(3)**3*y(4) + 15*y(1)*y(3)**2*y(4)**2 + 5*y(1)*y(3)*y(4)**3 + 300*y(2)**3*y(3)**2 + 30*y(2)**3*y(3)*y(4) + 30*y(2)**3*y(4)**2 + 400*y(2)**2*y(3)**3 &
1482 - 235*y(2)**2*y(3)**2*y(4) + 85*y(2)**2*y(3)*y(4)**2 + 20*y(2)**2*y(4)**3 + 3224*y(2)*y(3)**4 - 460*y(2)*y(3)**3*y(4) - 35*y(2)*y(3)**2*y(4)**2 + 25*y(2)*y(3)*y(4)**3 + 3124*y(3)**5 + 1467*y(3)**4*y(4) + 110*y(3)**3*y(4)**2 + 105*y(3)**2*y(4)**3)) &
1483 /(5*(y(1) + y(2))*(y(2) + y(3))*(y(1) + y(2) + y(3))**2*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4))**2)
1484 beta_coef_x(i + 1, 2, 5) = (4*y(3)**2*(50*y(2)**2*y(3)**2 + 5*y(2)**2*y(3)*y(4) + 5*y(2)**2*y(4)**2 - 95*y(2)*y(3)**2*y(4) + 5*y(2)*y(3)*y(4)**2 + 781*y(3)**4 + 50*y(3)**2*y(4)**2))/(5*(y(1) + y(2))**2*(y(1) + y(2) + y(3))**2*(y(1) + y(2) + y(3) + y(4))**2)
1486 y = s_cb(i:i + 3) - s_cb(i - 1:i + 2)
1487 beta_coef_x(i + 1, 1, 0) = (4*y(2)**2*(50*y(1)**2*y(2)**2 + 5*y(1)**2*y(2)*y(3) + 5*y(1)**2*y(3)**2 - 95*y(1)*y(2)**2*y(3) + 5*y(1)*y(2)*y(3)**2 + 781*y(2)**4 + 50*y(2)**2*y(3)**2))/(5*(y(3) + y(4))**2*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4))**2)
1488 beta_coef_x(i + 1, 1, 1) = -(4*y(2)**2*(105*y(1)**3*y(2)**2 + 25*y(1)**3*y(2)*y(3) + 5*y(1)**3*y(2)*y(4) + 20*y(1)**3*y(3)**2 + 10*y(1)**3*y(3)*y(4) + 110*y(1)**2*y(2)**3 - 35*y(1)**2*y(2)**2*y(3) + 15*y(1)**2*y(2)**2*y(4) + 85*y(1)**2*y(2)*y(3)**2 + 50*y(1)**2*y(2)*y(3)*y(4) &
1489 + 5*y(1)**2*y(2)*y(4)**2 + 30*y(1)**2*y(3)**3 + 30*y(1)**2*y(3)**2*y(4) + 10*y(1)**2*y(3)*y(4)**2 + 1467*y(1)*y(2)**4 - 460*y(1)*y(2)**3*y(3) - 190*y(1)*y(2)**3*y(4) - 235*y(1)*y(2)**2*y(3)**2 - 260*y(1)*y(2)**2*y(3)*y(4) - 95*y(1)*y(2)**2*y(4)**2 &
1490 + 30*y(1)*y(2)*y(3)**3 + 30*y(1)*y(2)*y(3)**2*y(4) + 10*y(1)*y(2)*y(3)*y(4)**2 + 3124*y(2)**5 + 3224*y(2)**4*y(3) + 1562*y(2)**4*y(4) + 400*y(2)**3*y(3)**2 + 200*y(2)**3*y(3)*y(4) + 300*y(2)**2*y(3)**3 + 300*y(2)**2*y(3)**2*y(4) + 100*y(2)**2*y(3)*y(4)**2)) &
1491 /(5*(y(2) + y(3))*(y(3) + y(4))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4))**2)
1492 beta_coef_x(i + 1, 1, 2) = -(4*y(2)**2*(100*y(1)*y(2)**3 - 190*y(2)**2*y(3)**2 + 10*y(1)*y(3)**3 + 5*y(2)*y(3)**3 - 95*y(2)**3*y(3) - 1562*y(2)**4 + 15*y(1)*y(2)*y(3)**2 + 205*y(1)*y(2)**2*y(3) + 100*y(1)*y(2)**2*y(4) + 10*y(1)*y(3)**2*y(4) + 5*y(2)*y(3)**2*y(4) - 95*y(2)**2*y(3)*y(4) &
1493 + 10*y(1)*y(2)*y(3)*y(4)))/(5*(y(1) + y(2))*(y(3) + y(4))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4))**2)
1494 beta_coef_x(i + 1, 1, 3) = (4*y(2)**2*(60*y(1)**4*y(2)**2 + 30*y(1)**4*y(2)*y(3) + 15*y(1)**4*y(2)*y(4) + 20*y(1)**4*y(3)**2 + 20*y(1)**4*y(3)*y(4) + 5*y(1)**4*y(4)**2 + 135*y(1)**3*y(2)**3 + 140*y(1)**3*y(2)**2*y(3) + 70*y(1)**3*y(2)**2*y(4) + 165*y(1)**3*y(2)*y(3)**2 &
1495 + 165*y(1)**3*y(2)*y(3)*y(4) + 45*y(1)**3*y(2)*y(4)**2 + 60*y(1)**3*y(3)**3 + 90*y(1)**3*y(3)**2*y(4) + 50*y(1)**3*y(3)*y(4)**2 + 10*y(1)**3*y(4)**3 + 771*y(1)**2*y(2)**4 - 200*y(1)**2*y(2)**3*y(3) - 100*y(1)**2*y(2)**3*y(4) + 25*y(1)**2*y(2)**2*y(3)**2 &
1496 + 25*y(1)**2*y(2)**2*y(3)*y(4) - 10*y(1)**2*y(2)**2*y(4)**2 + 210*y(1)**2*y(2)*y(3)**3 + 315*y(1)**2*y(2)*y(3)**2*y(4) + 175*y(1)**2*y(2)*y(3)*y(4)**2 + 35*y(1)**2*y(2)*y(4)**3 + 45*y(1)**2*y(3)**4 + 90*y(1)**2*y(3)**3*y(4) + 75*y(1)**2*y(3)**2*y(4)**2 &
1497 + 30*y(1)**2*y(3)*y(4)**3 + 5*y(1)**2*y(4)**4 + 3039*y(1)*y(2)**5 + 2814*y(1)*y(2)**4*y(3) + 1407*y(1)*y(2)**4*y(4) - 120*y(1)*y(2)**3*y(3)**2 - 120*y(1)*y(2)**3*y(3)*y(4) - 50*y(1)*y(2)**3*y(4)**2 + 150*y(1)*y(2)**2*y(3)**3 + 225*y(1)*y(2)**2*y(3)**2*y(4) &
1498 + 125*y(1)*y(2)**2*y(3)*y(4)**2 + 25*y(1)*y(2)**2*y(4)**3 + 45*y(1)*y(2)*y(3)**4 + 90*y(1)*y(2)*y(3)**3*y(4) + 75*y(1)*y(2)*y(3)**2*y(4)**2 + 30*y(1)*y(2)*y(3)*y(4)**3 + 5*y(1)*y(2)*y(4)**4 + 3174*y(2)**6 + 6648*y(2)**5*y(3) + 3324*y(2)**5*y(4) &
1499 + 4224*y(2)**4*y(3)**2 + 4224*y(2)**4*y(3)*y(4) + 1081*y(2)**4*y(4)**2 + 1200*y(2)**3*y(3)**3 + 1800*y(2)**3*y(3)**2*y(4) + 1000*y(2)**3*y(3)*y(4)**2 + 200*y(2)**3*y(4)**3 + 450*y(2)**2*y(3)**4 + 900*y(2)**2*y(3)**3*y(4) + 750*y(2)**2*y(3)**2*y(4)**2 &
1500 + 300*y(2)**2*y(3)*y(4)**3 + 50*y(2)**2*y(4)**4))/(5*(y(2) + y(3))**2*(y(1) + y(2) + y(3))**2*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4))**2)
1501 beta_coef_x(i + 1, 1, 4) = (4*y(2)**2*(105*y(1)**2*y(2)**3 + 220*y(1)**2*y(2)**2*y(3) + 110*y(1)**2*y(2)**2*y(4) + 35*y(1)**2*y(2)*y(3)**2 + 35*y(1)**2*y(2)*y(3)*y(4) + 5*y(1)**2*y(2)*y(4)**2 + 20*y(1)**2*y(3)**3 + 30*y(1)**2*y(3)**2*y(4) + 10*y(1)**2*y(3)*y(4)**2 - 1452*y(1)*y(2)**4 &
1502 + 250*y(1)*y(2)**3*y(3) + 125*y(1)*y(2)**3*y(4) + 100*y(1)*y(2)**2*y(3)**2 + 100*y(1)*y(2)**2*y(3)*y(4) + 20*y(1)*y(2)**2*y(4)**2 + 90*y(1)*y(2)*y(3)**3 + 135*y(1)*y(2)*y(3)**2*y(4) + 55*y(1)*y(2)*y(3)*y(4)**2 + 5*y(1)*y(2)*y(4)**3 + 30*y(1)*y(3)**4 &
1503 + 60*y(1)*y(3)**3*y(4) + 40*y(1)*y(3)**2*y(4)**2 + 10*y(1)*y(3)*y(4)**3 - 3219*y(2)**5 - 3694*y(2)**4*y(3) - 1847*y(2)**4*y(4) - 1040*y(2)**3*y(3)**2 - 1040*y(2)**3*y(3)*y(4) - 285*y(2)**3*y(4)**2 - 550*y(2)**2*y(3)**3 - 825*y(2)**2*y(3)**2*y(4) &
1504 - 465*y(2)**2*y(3)*y(4)**2 - 95*y(2)**2*y(4)**3 + 15*y(2)*y(3)**4 + 30*y(2)*y(3)**3*y(4) + 20*y(2)*y(3)**2*y(4)**2 + 5*y(2)*y(3)*y(4)**3))/(5*(y(1) + y(2))*(y(2) + y(3))*(y(1) + y(2) + y(3))**2*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4))**2)
1505 beta_coef_x(i + 1, 1, 5) = (4*y(2)**2*(831*y(2)**4 + 200*y(2)**3*y(3) + 100*y(2)**3*y(4) + 205*y(2)**2*y(3)**2 + 205*y(2)**2*y(3)*y(4) + 50*y(2)**2*y(4)**2 + 10*y(2)*y(3)**3 + 15*y(2)*y(3)**2*y(4) + 5*y(2)*y(3)*y(4)**2 + 5*y(3)**4 + 10*y(3)**3*y(4) + 5*y(3)**2*y(4)**2))/(5*(y(1) &
1506 + y(2))**2*(y(1) + y(2) + y(3))**2*(y(1) + y(2) + y(3) + y(4))**2)
1508 y = s_cb(i + 1:i + 4) - s_cb(i:i + 3)
1509 beta_coef_x(i + 1, 0, 0) = (4*y(1)**2*(831*y(1)**4 + 200*y(1)**3*y(2) + 100*y(1)**3*y(3) + 205*y(1)**2*y(2)**2 + 205*y(1)**2*y(2)*y(3) + 50*y(1)**2*y(3)**2 + 10*y(1)*y(2)**3 + 15*y(1)*y(2)**2*y(3) + 5*y(1)*y(2)*y(3)**2 + 5*y(2)**4 + 10*y(2)**3*y(3) + 5*y(2)**2*y(3)**2))/(5*(y(3) &
1510 + y(4))**2*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4))**2)
1511 beta_coef_x(i + 1, 0, 1) = -(4*y(1)**2*(1662*y(1)**5 + 3824*y(1)**4*y(2) + 3624*y(1)**4*y(3) + 1762*y(1)**4*y(4) + 1515*y(1)**3*y(2)**2 + 2115*y(1)**3*y(2)*y(3) + 805*y(1)**3*y(2)*y(4) + 700*y(1)**3*y(3)**2 + 500*y(1)**3*y(3)*y(4) + 100*y(1)**3*y(4)**2 + 1060*y(1)**2*y(2)**3 &
1512 + 2205*y(1)**2*y(2)**2*y(3) + 835*y(1)**2*y(2)**2*y(4) + 1445*y(1)**2*y(2)*y(3)**2 + 1030*y(1)**2*y(2)*y(3)*y(4) + 205*y(1)**2*y(2)*y(4)**2 + 300*y(1)**2*y(3)**3 + 300*y(1)**2*y(3)**2*y(4) + 100*y(1)**2*y(3)*y(4)**2 + 75*y(1)*y(2)**4 + 180*y(1)*y(2)**3*y(3) &
1513 + 60*y(1)*y(2)**3*y(4) + 135*y(1)*y(2)**2*y(3)**2 + 90*y(1)*y(2)**2*y(3)*y(4) + 15*y(1)*y(2)**2*y(4)**2 + 30*y(1)*y(2)*y(3)**3 + 30*y(1)*y(2)*y(3)**2*y(4) + 10*y(1)*y(2)*y(3)*y(4)**2 + 30*y(2)**5 + 90*y(2)**4*y(3) + 30*y(2)**4*y(4) + 90*y(2)**3*y(3)**2 &
1514 + 60*y(2)**3*y(3)*y(4) + 10*y(2)**3*y(4)**2 + 30*y(2)**2*y(3)**3 + 30*y(2)**2*y(3)**2*y(4) + 10*y(2)**2*y(3)*y(4)**2))/(5*(y(2) + y(3))*(y(3) + y(4))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4))**2)
1515 beta_coef_x(i + 1, 0, 2) = (4*y(1)**2*(1767*y(1)**4 + 725*y(1)**3*y(2) + 415*y(1)**3*y(3) + 105*y(4)*y(1)**3 + 665*y(1)**2*y(2)**2 + 775*y(1)**2*y(2)*y(3) + 220*y(4)*y(1)**2*y(2) + 215*y(1)**2*y(3)**2 + 110*y(4)*y(1)**2*y(3) + 75*y(1)*y(2)**3 + 130*y(1)*y(2)**2*y(3) + 35*y(4)*y(1)*y(2)**2 &
1516 + 60*y(1)*y(2)*y(3)**2 + 35*y(4)*y(1)*y(2)*y(3) + 5*y(1)*y(3)**3 + 5*y(4)*y(1)*y(3)**2 + 30*y(2)**4 + 70*y(2)**3*y(3) + 20*y(4)*y(2)**3 + 50*y(2)**2*y(3)**2 + 30*y(4)*y(2)**2*y(3) + 10*y(2)*y(3)**3 + 10*y(4)*y(2)*y(3)**2)) &
1517 /(5*(y(1) + y(2))*(y(3) + y(4))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4))**2)
1518 beta_coef_x(i + 1, 0, 3) = (4*y(1)**2*(831*y(1)**6 + 3624*y(1)**5*y(2) + 3524*y(1)**5*y(3) + 1762*y(1)**5*y(4) + 4884*y(1)**4*y(2)**2 + 9058*y(1)**4*y(2)*y(3) + 4529*y(1)**4*y(2)*y(4) + 4224*y(1)**4*y(3)**2 + 4224*y(1)**4*y(3)*y(4) + 1081*y(1)**4*y(4)**2 + 2565*y(1)**3*y(2)**3 &
1519 + 6120*y(1)**3*y(2)**2*y(3) + 3060*y(1)**3*y(2)**2*y(4) + 4755*y(1)**3*y(2)*y(3)**2 + 4755*y(1)**3*y(2)*y(3)*y(4) + 1315*y(1)**3*y(2)*y(4)**2 + 1200*y(1)**3*y(3)**3 + 1800*y(1)**3*y(3)**2*y(4) + 1000*y(1)**3*y(3)*y(4)**2 + 200*y(1)**3*y(4)**3 + 1395*y(1)**2*y(2)**4 &
1520 + 4380*y(1)**2*y(2)**3*y(3) + 2190*y(1)**2*y(2)**3*y(4) + 5025*y(1)**2*y(2)**2*y(3)**2 + 5025*y(1)**2*y(2)**2*y(3)*y(4) + 1390*y(1)**2*y(2)**2*y(4)**2 + 2490*y(1)**2*y(2)*y(3)**3 + 3735*y(1)**2*y(2)*y(3)**2*y(4) + 2075*y(1)**2*y(2)*y(3)*y(4)**2 &
1521 + 415*y(1)**2*y(2)*y(4)**3 + 450*y(1)**2*y(3)**4 + 900*y(1)**2*y(3)**3*y(4) + 750*y(1)**2*y(3)**2*y(4)**2 + 300*y(1)**2*y(3)*y(4)**3 + 50*y(1)**2*y(4)**4 + 135*y(1)*y(2)**5 + 450*y(1)*y(2)**4*y(3) + 225*y(1)*y(2)**4*y(4) + 540*y(1)*y(2)**3*y(3)**2 &
1522 + 540*y(1)*y(2)**3*y(3)*y(4) + 150*y(1)*y(2)**3*y(4)**2 + 270*y(1)*y(2)**2*y(3)**3 + 405*y(1)*y(2)**2*y(3)**2*y(4) + 225*y(1)*y(2)**2*y(3)*y(4)**2 + 45*y(1)*y(2)**2*y(4)**3 + 45*y(1)*y(2)*y(3)**4 + 90*y(1)*y(2)*y(3)**3*y(4) + 75*y(1)*y(2)*y(3)**2*y(4)**2 &
1523 + 30*y(1)*y(2)*y(3)*y(4)**3 + 5*y(1)*y(2)*y(4)**4 + 45*y(2)**6 + 180*y(2)**5*y(3) + 90*y(2)**5*y(4) + 270*y(2)**4*y(3)**2 + 270*y(2)**4*y(3)*y(4) + 75*y(2)**4*y(4)**2 + 180*y(2)**3*y(3)**3 + 270*y(2)**3*y(3)**2*y(4) + 150*y(2)**3*y(3)*y(4)**2 + 30*y(2)**3*y(4)**3 &
1524 + 45*y(2)**2*y(3)**4 + 90*y(2)**2*y(3)**3*y(4) + 75*y(2)**2*y(3)**2*y(4)**2 + 30*y(2)**2*y(3)*y(4)**3 + 5*y(2)**2*y(4)**4))/(5*(y(2) + y(3))**2*(y(1) + y(2) + y(3))**2*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4))**2)
1525 beta_coef_x(i + 1, 0, 4) = -(4*y(1)**2*(1767*y(1)**5 + 4464*y(1)**4*y(2) + 4154*y(1)**4*y(3) + 2077*y(1)**4*y(4) + 2655*y(1)**3*y(2)**2 + 4010*y(1)**3*y(2)*y(3) + 2005*y(1)**3*y(2)*y(4) + 1460*y(1)**3*y(3)**2 + 1460*y(1)**3*y(3)*y(4) + 415*y(1)**3*y(4)**2 + 1800*y(1)**2*y(2)**3 &
1526 + 4000*y(1)**2*y(2)**2*y(3) + 2000*y(1)**2*y(2)**2*y(4) + 2850*y(1)**2*y(2)*y(3)**2 + 2850*y(1)**2*y(2)*y(3)*y(4) + 790*y(1)**2*y(2)*y(4)**2 + 650*y(1)**2*y(3)**3 + 975*y(1)**2*y(3)**2*y(4) + 535*y(1)**2*y(3)*y(4)**2 + 105*y(1)**2*y(4)**3 + 270*y(1)*y(2)**4 &
1527 + 720*y(1)*y(2)**3*y(3) + 360*y(1)*y(2)**3*y(4) + 645*y(1)*y(2)**2*y(3)**2 + 645*y(1)*y(2)**2*y(3)*y(4) + 165*y(1)*y(2)**2*y(4)**2 + 210*y(1)*y(2)*y(3)**3 + 315*y(1)*y(2)*y(3)**2*y(4) + 155*y(1)*y(2)*y(3)*y(4)**2 + 25*y(1)*y(2)*y(4)**3 + 15*y(1)*y(3)**4 &
1528 + 30*y(1)*y(3)**3*y(4) + 20*y(1)*y(3)**2*y(4)**2 + 5*y(1)*y(3)*y(4)**3 + 90*y(2)**5 + 300*y(2)**4*y(3) + 150*y(2)**4*y(4) + 360*y(2)**3*y(3)**2 + 360*y(2)**3*y(3)*y(4) + 90*y(2)**3*y(4)**2 + 180*y(2)**2*y(3)**3 + 270*y(2)**2*y(3)**2*y(4) + 130*y(2)**2*y(3)*y(4)**2 &
1529 + 20*y(2)**2*y(4)**3 + 30*y(2)*y(3)**4 + 60*y(2)*y(3)**3*y(4) + 40*y(2)*y(3)**2*y(4)**2 + 10*y(2)*y(3)*y(4)**3))/(5*(y(1) + y(2))*(y(2) + y(3))*(y(1) + y(2) + y(3))**2*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4))**2)
1530 beta_coef_x(i + 1, 0, 5) = (4*y(1)**2*(996*y(1)**4 + 675*y(1)**3*y(2) + 450*y(1)**3*y(3) + 225*y(1)**3*y(4) + 600*y(1)**2*y(2)**2 + 800*y(1)**2*y(2)*y(3) + 400*y(1)**2*y(2)*y(4) + 260*y(1)**2*y(3)**2 + 260*y(1)**2*y(3)*y(4) + 60*y(1)**2*y(4)**2 + 135*y(1)*y(2)**3 + 270*y(1)*y(2)**2*y(3) &
1531 + 135*y(1)*y(2)**2*y(4) + 165*y(1)*y(2)*y(3)**2 + 165*y(1)*y(2)*y(3)*y(4) + 30*y(1)*y(2)*y(4)**2 + 30*y(1)*y(3)**3 + 45*y(1)*y(3)**2*y(4) + 15*y(1)*y(3)*y(4)**2 + 45*y(2)**4 + 120*y(2)**3*y(3) + 60*y(2)**3*y(4) + 110*y(2)**2*y(3)**2 + 110*y(2)**2*y(3)*y(4) &
1532 + 20*y(2)**2*y(4)**2 + 40*y(2)*y(3)**3 + 60*y(2)*y(3)**2*y(4) + 20*y(2)*y(3)*y(4)**2 + 5*y(3)**4 + 10*y(3)**3*y(4) + 5*y(3)**2*y(4)**2))/(5*(y(1) + y(2))**2*(y(1) + y(2) + y(3))**2*(y(1) + y(2) + y(3) + y(4))**2)
1554# 229 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
1556 if (weno_dir == 2)
then
1557 if (weno_order == 3)
then
1558 do i = is%beg - 1 + weno_polyn, is%end - 1 - weno_polyn
1561 (s_cb(i) - s_cb(i + 2))
1563 (s_cb(i - 1) - s_cb(i + 1))
1568 d_cbr_y(0, i + 1) = (s_cb(i - 1) - s_cb(i + 1))/ &
1569 (s_cb(i - 1) - s_cb(i + 2))
1570 d_cbl_y(0, i + 1) = (s_cb(i - 1) - s_cb(i))/ &
1571 (s_cb(i - 1) - s_cb(i + 2))
1576 beta_coef_y(i + 1, 0, 0) = 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp/ &
1577 (s_cb(i) - s_cb(i + 2))**2._wp
1578 beta_coef_y(i + 1, 1, 0) = 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp/ &
1579 (s_cb(i - 1) - s_cb(i + 1))**2._wp
1587 if (null_weights)
then
1588 if (bc_s%beg == bc_riemann_extrap)
then
1593 if (bc_s%end == bc_riemann_extrap)
then
1601 elseif (weno_order == 5)
then
1603 do i = is%beg - 1 + weno_polyn, is%end - 1 - weno_polyn
1606 ((s_cb(i) - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i + 2)))/ &
1607 ((s_cb(i) - s_cb(i + 3))*(s_cb(i + 3) - s_cb(i + 1)))
1609 ((s_cb(i - 1) - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i)))/ &
1610 ((s_cb(i - 1) - s_cb(i + 2))*(s_cb(i + 2) - s_cb(i)))
1612 ((s_cb(i) - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i + 2)))/ &
1613 ((s_cb(i - 1) - s_cb(i + 1))*(s_cb(i - 1) - s_cb(i + 2)))
1615 ((s_cb(i) - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i - 1)))/ &
1616 ((s_cb(i - 2) - s_cb(i))*(s_cb(i - 2) - s_cb(i + 1)))
1618 ((s_cb(i + 1) - s_cb(i))*(s_cb(i) - s_cb(i + 2)))/ &
1619 ((s_cb(i) - s_cb(i + 3))*(s_cb(i + 3) - s_cb(i + 1)))
1621 ((s_cb(i) - s_cb(i - 1))*(s_cb(i) - s_cb(i + 1)))/ &
1622 ((s_cb(i - 1) - s_cb(i + 2))*(s_cb(i) - s_cb(i + 2)))
1624 ((s_cb(i + 1) - s_cb(i))*(s_cb(i) - s_cb(i + 2)))/ &
1625 ((s_cb(i - 1) - s_cb(i + 1))*(s_cb(i - 1) - s_cb(i + 2)))
1627 ((s_cb(i - 1) - s_cb(i))*(s_cb(i) - s_cb(i + 1)))/ &
1628 ((s_cb(i - 2) - s_cb(i))*(s_cb(i - 2) - s_cb(i + 1)))
1631 ((s_cb(i) - s_cb(i + 2)) + (s_cb(i + 1) - s_cb(i + 3)))/ &
1632 ((s_cb(i) - s_cb(i + 2))*(s_cb(i) - s_cb(i + 3)))* &
1633 ((s_cb(i) - s_cb(i + 1)))
1635 ((s_cb(i - 2) - s_cb(i + 1)) + (s_cb(i - 1) - s_cb(i + 1)))/ &
1636 ((s_cb(i - 1) - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i - 2)))* &
1637 ((s_cb(i + 1) - s_cb(i)))
1639 ((s_cb(i) - s_cb(i + 2)) + (s_cb(i) - s_cb(i + 3)))/ &
1640 ((s_cb(i) - s_cb(i + 2))*(s_cb(i) - s_cb(i + 3)))* &
1641 ((s_cb(i + 1) - s_cb(i)))
1643 ((s_cb(i - 2) - s_cb(i)) + (s_cb(i - 1) - s_cb(i + 1)))/ &
1644 ((s_cb(i - 2) - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i - 1)))* &
1645 ((s_cb(i) - s_cb(i + 1)))
1648 ((s_cb(i - 2) - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i - 1)))/ &
1649 ((s_cb(i - 2) - s_cb(i + 3))*(s_cb(i + 3) - s_cb(i - 1)))
1651 ((s_cb(i + 1) - s_cb(i + 2))*(s_cb(i + 1) - s_cb(i + 3)))/ &
1652 ((s_cb(i - 2) - s_cb(i + 2))*(s_cb(i - 2) - s_cb(i + 3)))
1654 ((s_cb(i - 2) - s_cb(i))*(s_cb(i) - s_cb(i - 1)))/ &
1655 ((s_cb(i - 2) - s_cb(i + 3))*(s_cb(i + 3) - s_cb(i - 1)))
1657 ((s_cb(i) - s_cb(i + 2))*(s_cb(i) - s_cb(i + 3)))/ &
1658 ((s_cb(i - 2) - s_cb(i + 2))*(s_cb(i - 2) - s_cb(i + 3)))
1664 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(10._wp*(s_cb(i + 1) - &
1665 s_cb(i))**2._wp + (s_cb(i + 1) - s_cb(i))*(s_cb(i + 2) - &
1666 s_cb(i + 1)) + (s_cb(i + 2) - s_cb(i + 1))**2._wp)/((s_cb(i) - &
1667 s_cb(i + 3))**2._wp*(s_cb(i + 1) - s_cb(i + 3))**2._wp)
1670 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(19._wp*(s_cb(i + 1) - &
1671 s_cb(i))**2._wp - (s_cb(i + 1) - s_cb(i))*(s_cb(i + 3) - &
1672 s_cb(i + 1)) + 2._wp*(s_cb(i + 2) - s_cb(i))*((s_cb(i + 2) - &
1673 s_cb(i)) + (s_cb(i + 3) - s_cb(i + 1))))/((s_cb(i) - &
1674 s_cb(i + 2))*(s_cb(i) - s_cb(i + 3))**2._wp*(s_cb(i + 3) - &
1678 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(10._wp*(s_cb(i + 1) - &
1679 s_cb(i))**2._wp + (s_cb(i + 1) - s_cb(i))*((s_cb(i + 2) - &
1680 s_cb(i)) + (s_cb(i + 3) - s_cb(i + 1))) + ((s_cb(i + 2) - &
1681 s_cb(i)) + (s_cb(i + 3) - s_cb(i + 1)))**2._wp)/((s_cb(i) - &
1682 s_cb(i + 2))**2._wp*(s_cb(i) - s_cb(i + 3))**2._wp)
1685 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(10._wp*(s_cb(i + 1) - &
1686 s_cb(i))**2._wp + (s_cb(i) - s_cb(i - 1))**2._wp + (s_cb(i) - &
1687 s_cb(i - 1))*(s_cb(i + 1) - s_cb(i)))/((s_cb(i - 1) - &
1688 s_cb(i + 2))**2._wp*(s_cb(i) - s_cb(i + 2))**2._wp)
1691 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*((s_cb(i) - &
1692 s_cb(i + 1))*((s_cb(i) - s_cb(i - 1)) + 20._wp*(s_cb(i + 1) - &
1693 s_cb(i))) + (2._wp*(s_cb(i) - s_cb(i - 1)) + (s_cb(i + 1) - &
1694 s_cb(i)))*(s_cb(i + 2) - s_cb(i)))/((s_cb(i + 1) - &
1695 s_cb(i - 1))*(s_cb(i - 1) - s_cb(i + 2))**2._wp*(s_cb(i + 2) - &
1699 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(10._wp*(s_cb(i + 1) - &
1700 s_cb(i))**2._wp + (s_cb(i + 1) - s_cb(i))*(s_cb(i + 2) - &
1701 s_cb(i + 1)) + (s_cb(i + 2) - s_cb(i + 1))**2._wp)/ &
1702 ((s_cb(i - 1) - s_cb(i + 1))**2._wp*(s_cb(i - 1) - &
1703 s_cb(i + 2))**2._wp)
1706 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(12._wp*(s_cb(i + 1) - &
1707 s_cb(i))**2._wp + ((s_cb(i) - s_cb(i - 2)) + (s_cb(i) - &
1708 s_cb(i - 1)))**2._wp + 3._wp*((s_cb(i) - s_cb(i - 2)) + &
1709 (s_cb(i) - s_cb(i - 1)))*(s_cb(i + 1) - s_cb(i)))/ &
1710 ((s_cb(i - 2) - s_cb(i + 1))**2._wp*(s_cb(i - 1) - &
1711 s_cb(i + 1))**2._wp)
1714 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(19._wp*(s_cb(i + 1) - &
1715 s_cb(i))**2._wp + ((s_cb(i) - s_cb(i - 2))*(s_cb(i) - &
1716 s_cb(i + 1))) + 2._wp*(s_cb(i + 1) - s_cb(i - 1))*((s_cb(i) - &
1717 s_cb(i - 2)) + (s_cb(i + 1) - s_cb(i - 1))))/((s_cb(i - 2) - &
1718 s_cb(i))*(s_cb(i - 2) - s_cb(i + 1))**2._wp*(s_cb(i + 1) - &
1722 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(10._wp*(s_cb(i + 1) - &
1723 s_cb(i))**2._wp + (s_cb(i) - s_cb(i - 1))**2._wp + (s_cb(i) - &
1724 s_cb(i - 1))*(s_cb(i + 1) - s_cb(i)))/((s_cb(i - 2) - &
1725 s_cb(i))**2._wp*(s_cb(i - 2) - s_cb(i + 1))**2._wp)
1733 if (null_weights)
then
1734 if (bc_s%beg == bc_riemann_extrap)
then
1741 if (bc_s%end == bc_riemann_extrap)
then
1751 if (.not. teno)
then
1753 do i = is%beg - 1 + weno_polyn, is%end - 1 - weno_polyn
1766 w = s_cb(i - 3:i + 4) - s_cb(i)
1767 d_cbr_y(0, i + 1) = ((w(5) - w(6))*(w(5) - w(7))*(w(5) - w(8)))/((w(1) - w(6))*(w(1) - w(7))*(w(1) - w(8)))
1768 d_cbr_y(1, i + 1) = ((w(1) - w(5))*(w(5) - w(7))*(w(5) - w(8))*(w(1)*w(2) - w(1)*w(6) - w(1)*w(7) - w(2)*w(6) - w(1)*w(8) - w(2)*w(7) - w(2)*w(8) + w(6)*w(7) + w(6)*w(8) + w(7)*w(8) + w(1)**2 + w(2)**2))/((w(1) - w(6))*(w(1) - w(7))*(w(1) - w(8))*(w(2) - w(7))*(w(2) - w(8)))
1769 d_cbr_y(2, i + 1) = ((w(1) - w(5))*(w(2) - w(5))*(w(5) - w(8))*(w(1)*w(2) + w(1)*w(3) + w(2)*w(3) - w(1)*w(7) - w(1)*w(8) - w(2)*w(7) - w(2)*w(8) - w(3)*w(7) - w(3)*w(8) + w(7)*w(8) + w(7)**2 + w(8)**2))/((w(1) - w(7))*(w(1) - w(8))*(w(2) - w(7))*(w(2) - w(8))*(w(3) - w(8)))
1770 d_cbr_y(3, i + 1) = ((w(1) - w(5))*(w(2) - w(5))*(w(3) - w(5)))/((w(1) - w(8))*(w(2) - w(8))*(w(3) - w(8)))
1772 w = s_cb(i + 4:i - 3:-1) - s_cb(i)
1773 d_cbl_y(0, i + 1) = ((w(1) - w(5))*(w(2) - w(5))*(w(3) - w(5)))/((w(1) - w(8))*(w(2) - w(8))*(w(3) - w(8)))
1774 d_cbl_y(1, i + 1) = ((w(1) - w(5))*(w(2) - w(5))*(w(5) - w(8))*(w(1)*w(2) + w(1)*w(3) + w(2)*w(3) - w(1)*w(7) - w(1)*w(8) - w(2)*w(7) - w(2)*w(8) - w(3)*w(7) - w(3)*w(8) + w(7)*w(8) + w(7)**2 + w(8)**2))/((w(1) - w(7))*(w(1) - w(8))*(w(2) - w(7))*(w(2) - w(8))*(w(3) - w(8)))
1775 d_cbl_y(2, i + 1) = ((w(1) - w(5))*(w(5) - w(7))*(w(5) - w(8))*(w(1)*w(2) - w(1)*w(6) - w(1)*w(7) - w(2)*w(6) - w(1)*w(8) - w(2)*w(7) - w(2)*w(8) + w(6)*w(7) + w(6)*w(8) + w(7)*w(8) + w(1)**2 + w(2)**2))/((w(1) - w(6))*(w(1) - w(7))*(w(1) - w(8))*(w(2) - w(7))*(w(2) - w(8)))
1776 d_cbl_y(3, i + 1) = ((w(5) - w(6))*(w(5) - w(7))*(w(5) - w(8)))/((w(1) - w(6))*(w(1) - w(7))*(w(1) - w(8)))
1779 y = s_cb(i + 1:i + 4) - s_cb(i:i + 3)
1780 poly_coef_cbr_y(i + 1, 0, 0) = (y(1)*y(2)*(y(2) + y(3)))/((y(3) + y(4))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
1781 poly_coef_cbr_y(i + 1, 0, 1) = -(y(1)*y(2)*(3*y(2)**2 + 6*y(2)*y(3) + 3*y(2)*y(4) + 2*y(1)*y(2) + 3*y(3)**2 + 3*y(3)*y(4) + 2*y(1)*y(3) + y(4)**2 + y(1)*y(4)))/((y(2) + y(3))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
1782 poly_coef_cbr_y(i + 1, 0, 2) = (y(1)*(y(1)**2 + 3*y(1)*y(2) + 2*y(1)*y(3) + y(4)*y(1) + 3*y(2)**2 + 4*y(2)*y(3) + 2*y(4)*y(2) + y(3)**2 + y(4)*y(3)))/((y(1) + y(2))*(y(1) + y(2) + y(3))*(y(1) + y(2) + y(3) + y(4)))
1784 y = s_cb(i:i + 3) - s_cb(i - 1:i + 2)
1785 poly_coef_cbr_y(i + 1, 1, 0) = -(y(2)*y(3)*(y(1) + y(2)))/((y(3) + y(4))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
1786 poly_coef_cbr_y(i + 1, 1, 1) = (y(2)*(y(1) + y(2))*(y(2)**2 + 4*y(2)*y(3) + 2*y(2)*y(4) + y(1)*y(2) + 3*y(3)**2 + 3*y(3)*y(4) + 2*y(1)*y(3) + y(4)**2 + y(1)*y(4)))/((y(2) + y(3))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
1787 poly_coef_cbr_y(i + 1, 1, 2) = (y(2)*y(3)*(y(3) + y(4)))/((y(1) + y(2))*(y(1) + y(2) + y(3))*(y(1) + y(2) + y(3) + y(4)))
1789 y = s_cb(i - 1:i + 2) - s_cb(i - 2:i + 1)
1790 poly_coef_cbr_y(i + 1, 2, 0) = (y(3)*(y(2) + y(3))*(y(1) + y(2) + y(3)))/((y(3) + y(4))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
1791 poly_coef_cbr_y(i + 1, 2, 1) = (y(3)*y(4)*(y(1)**2 + 3*y(1)*y(2) + 3*y(1)*y(3) + y(4)*y(1) + 3*y(2)**2 + 6*y(2)*y(3) + 2*y(4)*y(2) + 3*y(3)**2 + 2*y(4)*y(3)))/((y(2) + y(3))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
1792 poly_coef_cbr_y(i + 1, 2, 2) = -(y(3)*y(4)*(y(2) + y(3)))/((y(1) + y(2))*(y(1) + y(2) + y(3))*(y(1) + y(2) + y(3) + y(4)))
1794 y = s_cb(i - 2:i + 1) - s_cb(i - 3:i)
1795 poly_coef_cbr_y(i + 1, 3, 0) = (y(4)*(y(2)**2 + 4*y(2)*y(3) + 4*y(2)*y(4) + y(1)*y(2) + 3*y(3)**2 + 6*y(3)*y(4) + 2*y(1)*y(3) + 3*y(4)**2 + 2*y(1)*y(4)))/((y(3) + y(4))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
1796 poly_coef_cbr_y(i + 1, 3, 1) = -(y(4)*(y(3) + y(4))*(y(1)**2 + 3*y(1)*y(2) + 3*y(1)*y(3) + 2*y(1)*y(4) + 3*y(2)**2 + 6*y(2)*y(3) + 4*y(2)*y(4) + 3*y(3)**2 + 4*y(3)*y(4) + y(4)**2))/((y(2) + y(3))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
1797 poly_coef_cbr_y(i + 1, 3, 2) = (y(4)*(y(3) + y(4))*(y(2) + y(3) + y(4)))/((y(1) + y(2))*(y(1) + y(2) + y(3))*(y(1) + y(2) + y(3) + y(4)))
1799 y = s_cb(i + 1:i - 2:-1) - s_cb(i:i - 3:-1)
1800 poly_coef_cbl_y(i + 1, 3, 2) = (y(1)*y(2)*(y(2) + y(3)))/((y(3) + y(4))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
1801 poly_coef_cbl_y(i + 1, 3, 1) = -(y(1)*y(2)*(3*y(2)**2 + 6*y(2)*y(3) + 3*y(2)*y(4) + 2*y(1)*y(2) + 3*y(3)**2 + 3*y(3)*y(4) + 2*y(1)*y(3) + y(4)**2 + y(1)*y(4)))/((y(2) + y(3))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
1802 poly_coef_cbl_y(i + 1, 3, 0) = (y(1)*(y(1)**2 + 3*y(1)*y(2) + 2*y(1)*y(3) + y(4)*y(1) + 3*y(2)**2 + 4*y(2)*y(3) + 2*y(4)*y(2) + y(3)**2 + y(4)*y(3)))/((y(1) + y(2))*(y(1) + y(2) + y(3))*(y(1) + y(2) + y(3) + y(4)))
1804 y = s_cb(i + 2:i - 1:-1) - s_cb(i + 1:i - 2:-1)
1805 poly_coef_cbl_y(i + 1, 2, 2) = -(y(2)*y(3)*(y(1) + y(2)))/((y(3) + y(4))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
1806 poly_coef_cbl_y(i + 1, 2, 1) = (y(2)*(y(1) + y(2))*(y(2)**2 + 4*y(2)*y(3) + 2*y(2)*y(4) + y(1)*y(2) + 3*y(3)**2 + 3*y(3)*y(4) + 2*y(1)*y(3) + y(4)**2 + y(1)*y(4)))/((y(2) + y(3))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
1807 poly_coef_cbl_y(i + 1, 2, 0) = (y(2)*y(3)*(y(3) + y(4)))/((y(1) + y(2))*(y(1) + y(2) + y(3))*(y(1) + y(2) + y(3) + y(4)))
1809 y = s_cb(i + 3:i:-1) - s_cb(i + 2:i - 1:-1)
1810 poly_coef_cbl_y(i + 1, 1, 2) = (y(3)*(y(2) + y(3))*(y(1) + y(2) + y(3)))/((y(3) + y(4))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
1811 poly_coef_cbl_y(i + 1, 1, 1) = (y(3)*y(4)*(y(1)**2 + 3*y(1)*y(2) + 3*y(1)*y(3) + y(4)*y(1) + 3*y(2)**2 + 6*y(2)*y(3) + 2*y(4)*y(2) + 3*y(3)**2 + 2*y(4)*y(3)))/((y(2) + y(3))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
1812 poly_coef_cbl_y(i + 1, 1, 0) = -(y(3)*y(4)*(y(2) + y(3)))/((y(1) + y(2))*(y(1) + y(2) + y(3))*(y(1) + y(2) + y(3) + y(4)))
1814 y = s_cb(i + 4:i + 1:-1) - s_cb(i + 3:i:-1)
1815 poly_coef_cbl_y(i + 1, 0, 2) = (y(4)*(y(2)**2 + 4*y(2)*y(3) + 4*y(2)*y(4) + y(1)*y(2) + 3*y(3)**2 + 6*y(3)*y(4) + 2*y(1)*y(3) + 3*y(4)**2 + 2*y(1)*y(4)))/((y(3) + y(4))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
1816 poly_coef_cbl_y(i + 1, 0, 1) = -(y(4)*(y(3) + y(4))*(y(1)**2 + 3*y(1)*y(2) + 3*y(1)*y(3) + 2*y(1)*y(4) + 3*y(2)**2 + 6*y(2)*y(3) + 4*y(2)*y(4) + 3*y(3)**2 + 4*y(3)*y(4) + y(4)**2))/((y(2) + y(3))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
1817 poly_coef_cbl_y(i + 1, 0, 0) = (y(4)*(y(3) + y(4))*(y(2) + y(3) + y(4)))/((y(1) + y(2))*(y(1) + y(2) + y(3))*(y(1) + y(2) + y(3) + y(4)))
1822 y = s_cb(i - 2:i + 1) - s_cb(i - 3:i)
1823 beta_coef_y(i + 1, 3, 0) = (4*y(4)**2*(5*y(1)**2*y(2)**2 + 20*y(1)**2*y(2)*y(3) + 15*y(1)**2*y(2)*y(4) + 20*y(1)**2*y(3)**2 + 30*y(1)**2*y(3)*y(4) + 60*y(1)**2*y(4)**2 + 10*y(1)*y(2)**3 + 60*y(1)*y(2)**2*y(3) + 45*y(1)*y(2)**2*y(4) + 110*y(1)*y(2)*y(3)**2 + 165*y(1)*y(2)*y(3)*y(4) &
1824 + 260*y(1)*y(2)*y(4)**2 + 60*y(1)*y(3)**3 + 135*y(1)*y(3)**2*y(4) + 400*y(1)*y(3)*y(4)**2 + 225*y(1)*y(4)**3 + 5*y(2)**4 + 40*y(2)**3*y(3) + 30*y(2)**3*y(4) + 110*y(2)**2*y(3)**2 + 165*y(2)**2*y(3)*y(4) + 260*y(2)**2*y(4)**2 + 120*y(2)*y(3)**3 &
1825 + 270*y(2)*y(3)**2*y(4) + 800*y(2)*y(3)*y(4)**2 + 450*y(2)*y(4)**3 + 45*y(3)**4 + 135*y(3)**3*y(4) + 600*y(3)**2*y(4)**2 + 675*y(3)*y(4)**3 + 996*y(4)**4))/(5*(y(3) + y(4))**2*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4))**2)
1826 beta_coef_y(i + 1, 3, 1) = -(4*y(4)**2*(10*y(1)**3*y(2)*y(3) + 5*y(1)**3*y(2)*y(4) + 20*y(1)**3*y(3)**2 + 25*y(1)**3*y(3)*y(4) + 105*y(1)**3*y(4)**2 + 40*y(1)**2*y(2)**2*y(3) + 20*y(1)**2*y(2)**2*y(4) + 130*y(1)**2*y(2)*y(3)**2 + 155*y(1)**2*y(2)*y(3)*y(4) + 535*y(1)**2*y(2)*y(4)**2 &
1827 + 90*y(1)**2*y(3)**3 + 165*y(1)**2*y(3)**2*y(4) + 790*y(1)**2*y(3)*y(4)**2 + 415*y(1)**2*y(4)**3 + 60*y(1)*y(2)**3*y(3) + 30*y(1)*y(2)**3*y(4) + 270*y(1)*y(2)**2*y(3)**2 + 315*y(1)*y(2)**2*y(3)*y(4) + 975*y(1)*y(2)**2*y(4)**2 + 360*y(1)*y(2)*y(3)**3 &
1828 + 645*y(1)*y(2)*y(3)**2*y(4) + 2850*y(1)*y(2)*y(3)*y(4)**2 + 1460*y(1)*y(2)*y(4)**3 + 150*y(1)*y(3)**4 + 360*y(1)*y(3)**3*y(4) + 2000*y(1)*y(3)**2*y(4)**2 + 2005*y(1)*y(3)*y(4)**3 + 2077*y(1)*y(4)**4 + 30*y(2)**4*y(3) + 15*y(2)**4*y(4) + 180*y(2)**3*y(3)**2 &
1829 + 210*y(2)**3*y(3)*y(4) + 650*y(2)**3*y(4)**2 + 360*y(2)**2*y(3)**3 + 645*y(2)**2*y(3)**2*y(4) + 2850*y(2)**2*y(3)*y(4)**2 + 1460*y(2)**2*y(4)**3 + 300*y(2)*y(3)**4 + 720*y(2)*y(3)**3*y(4) + 4000*y(2)*y(3)**2*y(4)**2 + 4010*y(2)*y(3)*y(4)**3 + 4154*y(2)*y(4)**4 &
1830 + 90*y(3)**5 + 270*y(3)**4*y(4) + 1800*y(3)**3*y(4)**2 + 2655*y(3)**2*y(4)**3 + 4464*y(3)*y(4)**4 + 1767*y(4)**5))/(5*(y(2) + y(3))*(y(3) + y(4))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4))**2)
1831 beta_coef_y(i + 1, 3, 2) = (4*y(4)**2*(10*y(2)**3*y(3) + 5*y(2)**3*y(4) + 50*y(2)**2*y(3)**2 + 60*y(2)**2*y(3)*y(4) + 10*y(1)*y(2)**2*y(3) + 215*y(2)**2*y(4)**2 + 5*y(1)*y(2)**2*y(4) + 70*y(2)*y(3)**3 + 130*y(2)*y(3)**2*y(4) + 30*y(1)*y(2)*y(3)**2 + 775*y(2)*y(3)*y(4)**2 &
1832 + 35*y(1)*y(2)*y(3)*y(4) + 415*y(2)*y(4)**3 + 110*y(1)*y(2)*y(4)**2 + 30*y(3)**4 + 75*y(3)**3*y(4) + 20*y(1)*y(3)**3 + 665*y(3)**2*y(4)**2 + 35*y(1)*y(3)**2*y(4) + 725*y(3)*y(4)**3 + 220*y(1)*y(3)*y(4)**2 + 1767*y(4)**4 + 105*y(1)*y(4)**3)) &
1833 /(5*(y(1) + y(2))*(y(3) + y(4))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4))**2)
1834 beta_coef_y(i + 1, 3, 3) = (4*y(4)**2*(5*y(1)**4*y(3)**2 + 5*y(1)**4*y(3)*y(4) + 50*y(1)**4*y(4)**2 + 30*y(1)**3*y(2)*y(3)**2 + 30*y(1)**3*y(2)*y(3)*y(4) + 300*y(1)**3*y(2)*y(4)**2 + 30*y(1)**3*y(3)**3 + 45*y(1)**3*y(3)**2*y(4) + 415*y(1)**3*y(3)*y(4)**2 + 200*y(1)**3*y(4)**3 &
1835 + 75*y(1)**2*y(2)**2*y(3)**2 + 75*y(1)**2*y(2)**2*y(3)*y(4) + 750*y(1)**2*y(2)**2*y(4)**2 + 150*y(1)**2*y(2)*y(3)**3 + 225*y(1)**2*y(2)*y(3)**2*y(4) + 2075*y(1)**2*y(2)*y(3)*y(4)**2 + 1000*y(1)**2*y(2)*y(4)**3 + 75*y(1)**2*y(3)**4 + 150*y(1)**2*y(3)**3*y(4) &
1836 + 1390*y(1)**2*y(3)**2*y(4)**2 + 1315*y(1)**2*y(3)*y(4)**3 + 1081*y(1)**2*y(4)**4 + 90*y(1)*y(2)**3*y(3)**2 + 90*y(1)*y(2)**3*y(3)*y(4) + 900*y(1)*y(2)**3*y(4)**2 + 270*y(1)*y(2)**2*y(3)**3 + 405*y(1)*y(2)**2*y(3)**2*y(4) + 3735*y(1)*y(2)**2*y(3)*y(4)**2 &
1837 + 1800*y(1)*y(2)**2*y(4)**3 + 270*y(1)*y(2)*y(3)**4 + 540*y(1)*y(2)*y(3)**3*y(4) + 5025*y(1)*y(2)*y(3)**2*y(4)**2 + 4755*y(1)*y(2)*y(3)*y(4)**3 + 4224*y(1)*y(2)*y(4)**4 + 90*y(1)*y(3)**5 + 225*y(1)*y(3)**4*y(4) + 2190*y(1)*y(3)**3*y(4)**2 + 3060*y(1)*y(3)**2*y(4)**3 &
1838 + 4529*y(1)*y(3)*y(4)**4 + 1762*y(1)*y(4)**5 + 45*y(2)**4*y(3)**2 + 45*y(2)**4*y(3)*y(4) + 450*y(2)**4*y(4)**2 + 180*y(2)**3*y(3)**3 + 270*y(2)**3*y(3)**2*y(4) + 2490*y(2)**3*y(3)*y(4)**2 + 1200*y(2)**3*y(4)**3 + 270*y(2)**2*y(3)**4 + 540*y(2)**2*y(3)**3*y(4) &
1839 + 5025*y(2)**2*y(3)**2*y(4)**2 + 4755*y(2)**2*y(3)*y(4)**3 + 4224*y(2)**2*y(4)**4 + 180*y(2)*y(3)**5 + 450*y(2)*y(3)**4*y(4) + 4380*y(2)*y(3)**3*y(4)**2 + 6120*y(2)*y(3)**2*y(4)**3 + 9058*y(2)*y(3)*y(4)**4 + 3524*y(2)*y(4)**5 + 45*y(3)**6 + 135*y(3)**5*y(4) &
1840 + 1395*y(3)**4*y(4)**2 + 2565*y(3)**3*y(4)**3 + 4884*y(3)**2*y(4)**4 + 3624*y(3)*y(4)**5 + 831*y(4)**6))/(5*(y(2) + y(3))**2*(y(1) + y(2) + y(3))**2*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4))**2)
1841 beta_coef_y(i + 1, 3, 4) = -(4*y(4)**2*(10*y(1)**2*y(2)*y(3)**2 + 10*y(1)**2*y(2)*y(3)*y(4) + 100*y(1)**2*y(2)*y(4)**2 + 10*y(1)**2*y(3)**3 + 15*y(1)**2*y(3)**2*y(4) + 205*y(1)**2*y(3)*y(4)**2 + 100*y(1)**2*y(4)**3 + 30*y(1)*y(2)**2*y(3)**2 + 30*y(1)*y(2)**2*y(3)*y(4) &
1842 + 300*y(1)*y(2)**2*y(4)**2 + 60*y(1)*y(2)*y(3)**3 + 90*y(1)*y(2)*y(3)**2*y(4) + 1030*y(1)*y(2)*y(3)*y(4)**2 + 500*y(1)*y(2)*y(4)**3 + 30*y(1)*y(3)**4 + 60*y(1)*y(3)**3*y(4) + 835*y(1)*y(3)**2*y(4)**2 + 805*y(1)*y(3)*y(4)**3 + 1762*y(1)*y(4)**4 + 30*y(2)**3*y(3)**2 &
1843 + 30*y(2)**3*y(3)*y(4) + 300*y(2)**3*y(4)**2 + 90*y(2)**2*y(3)**3 + 135*y(2)**2*y(3)**2*y(4) + 1445*y(2)**2*y(3)*y(4)**2 + 700*y(2)**2*y(4)**3 + 90*y(2)*y(3)**4 + 180*y(2)*y(3)**3*y(4) + 2205*y(2)*y(3)**2*y(4)**2 + 2115*y(2)*y(3)*y(4)**3 + 3624*y(2)*y(4)**4 &
1844 + 30*y(3)**5 + 75*y(3)**4*y(4) + 1060*y(3)**3*y(4)**2 + 1515*y(3)**2*y(4)**3 + 3824*y(3)*y(4)**4 + 1662*y(4)**5))/(5*(y(1) + y(2))*(y(2) + y(3))*(y(1) + y(2) + y(3))**2*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4))**2)
1845 beta_coef_y(i + 1, 3, 5) = (4*y(4)**2*(5*y(2)**2*y(3)**2 + 5*y(2)**2*y(3)*y(4) + 50*y(2)**2*y(4)**2 + 10*y(2)*y(3)**3 + 15*y(2)*y(3)**2*y(4) + 205*y(2)*y(3)*y(4)**2 + 100*y(2)*y(4)**3 + 5*y(3)**4 + 10*y(3)**3*y(4) + 205*y(3)**2*y(4)**2 + 200*y(3)*y(4)**3 + 831*y(4)**4))/(5*(y(1) &
1846 + y(2))**2*(y(1) + y(2) + y(3))**2*(y(1) + y(2) + y(3) + y(4))**2)
1848 y = s_cb(i - 1:i + 2) - s_cb(i - 2:i + 1)
1849 beta_coef_y(i + 1, 2, 0) = (4*y(3)**2*(5*y(1)**2*y(2)**2 + 5*y(1)**2*y(2)*y(3) + 50*y(1)**2*y(3)**2 + 10*y(1)*y(2)**3 + 15*y(1)*y(2)**2*y(3) + 205*y(1)*y(2)*y(3)**2 + 100*y(1)*y(3)**3 + 5*y(2)**4 + 10*y(2)**3*y(3) + 205*y(2)**2*y(3)**2 + 200*y(2)*y(3)**3 + 831*y(3)**4))/(5*(y(3) &
1850 + y(4))**2*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4))**2)
1851 beta_coef_y(i + 1, 2, 1) = (4*y(3)**2*(5*y(1)**3*y(2)*y(3) + 10*y(1)**3*y(2)*y(4) - 95*y(1)**3*y(3)**2 + 5*y(1)**3*y(3)*y(4) + 20*y(1)**2*y(2)**2*y(3) + 40*y(1)**2*y(2)**2*y(4) - 465*y(1)**2*y(2)*y(3)**2 + 55*y(1)**2*y(2)*y(3)*y(4) + 10*y(1)**2*y(2)*y(4)**2 - 285*y(1)**2*y(3)**3 &
1852 + 20*y(1)**2*y(3)**2*y(4) + 5*y(1)**2*y(3)*y(4)**2 + 30*y(1)*y(2)**3*y(3) + 60*y(1)*y(2)**3*y(4) - 825*y(1)*y(2)**2*y(3)**2 + 135*y(1)*y(2)**2*y(3)*y(4) + 30*y(1)*y(2)**2*y(4)**2 - 1040*y(1)*y(2)*y(3)**3 + 100*y(1)*y(2)*y(3)**2*y(4) + 35*y(1)*y(2)*y(3)*y(4)**2 &
1853 - 1847*y(1)*y(3)**4 + 125*y(1)*y(3)**3*y(4) + 110*y(1)*y(3)**2*y(4)**2 + 15*y(2)**4*y(3) + 30*y(2)**4*y(4) - 550*y(2)**3*y(3)**2 + 90*y(2)**3*y(3)*y(4) + 20*y(2)**3*y(4)**2 - 1040*y(2)**2*y(3)**3 + 100*y(2)**2*y(3)**2*y(4) + 35*y(2)**2*y(3)*y(4)**2 &
1854 - 3694*y(2)*y(3)**4 + 250*y(2)*y(3)**3*y(4) + 220*y(2)*y(3)**2*y(4)**2 - 3219*y(3)**5 - 1452*y(3)**4*y(4) + 105*y(3)**3*y(4)**2))/(5*(y(2) + y(3))*(y(3) + y(4))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4))**2)
1855 beta_coef_y(i + 1, 2, 2) = -(4*y(3)**2*(5*y(2)**3*y(3) - 95*y(2)*y(3)**3 - 190*y(2)**2*y(3)**2 + 10*y(2)**3*y(4) + 100*y(3)**3*y(4) - 1562*y(3)**4 - 95*y(1)*y(2)*y(3)**2 + 5*y(1)*y(2)**2*y(3) + 10*y(1)*y(2)**2*y(4) + 100*y(1)*y(3)**2*y(4) + 205*y(2)*y(3)**2*y(4) &
1856 + 15*y(2)**2*y(3)*y(4) + 10*y(1)*y(2)*y(3)*y(4)))/(5*(y(1) + y(2))*(y(3) + y(4))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4))**2)
1857 beta_coef_y(i + 1, 2, 3) = (4*y(3)**2*(50*y(1)**4*y(3)**2 + 5*y(1)**4*y(3)*y(4) + 5*y(1)**4*y(4)**2 + 300*y(1)**3*y(2)*y(3)**2 + 30*y(1)**3*y(2)*y(3)*y(4) + 30*y(1)**3*y(2)*y(4)**2 + 200*y(1)**3*y(3)**3 + 25*y(1)**3*y(3)**2*y(4) + 35*y(1)**3*y(3)*y(4)**2 + 10*y(1)**3*y(4)**3 &
1858 + 750*y(1)**2*y(2)**2*y(3)**2 + 75*y(1)**2*y(2)**2*y(3)*y(4) + 75*y(1)**2*y(2)**2*y(4)**2 + 1000*y(1)**2*y(2)*y(3)**3 + 125*y(1)**2*y(2)*y(3)**2*y(4) + 175*y(1)**2*y(2)*y(3)*y(4)**2 + 50*y(1)**2*y(2)*y(4)**3 + 1081*y(1)**2*y(3)**4 - 50*y(1)**2*y(3)**3*y(4) &
1859 - 10*y(1)**2*y(3)**2*y(4)**2 + 45*y(1)**2*y(3)*y(4)**3 + 5*y(1)**2*y(4)**4 + 900*y(1)*y(2)**3*y(3)**2 + 90*y(1)*y(2)**3*y(3)*y(4) + 90*y(1)*y(2)**3*y(4)**2 + 1800*y(1)*y(2)**2*y(3)**3 + 225*y(1)*y(2)**2*y(3)**2*y(4) + 315*y(1)*y(2)**2*y(3)*y(4)**2 &
1860 + 90*y(1)*y(2)**2*y(4)**3 + 4224*y(1)*y(2)*y(3)**4 - 120*y(1)*y(2)*y(3)**3*y(4) + 25*y(1)*y(2)*y(3)**2*y(4)**2 + 165*y(1)*y(2)*y(3)*y(4)**3 + 20*y(1)*y(2)*y(4)**4 + 3324*y(1)*y(3)**5 + 1407*y(1)*y(3)**4*y(4) - 100*y(1)*y(3)**3*y(4)**2 + 70*y(1)*y(3)**2*y(4)**3 &
1861 + 15*y(1)*y(3)*y(4)**4 + 450*y(2)**4*y(3)**2 + 45*y(2)**4*y(3)*y(4) + 45*y(2)**4*y(4)**2 + 1200*y(2)**3*y(3)**3 + 150*y(2)**3*y(3)**2*y(4) + 210*y(2)**3*y(3)*y(4)**2 + 60*y(2)**3*y(4)**3 + 4224*y(2)**2*y(3)**4 - 120*y(2)**2*y(3)**3*y(4) + 25*y(2)**2*y(3)**2*y(4)**2 &
1862 + 165*y(2)**2*y(3)*y(4)**3 + 20*y(2)**2*y(4)**4 + 6648*y(2)*y(3)**5 + 2814*y(2)*y(3)**4*y(4) - 200*y(2)*y(3)**3*y(4)**2 + 140*y(2)*y(3)**2*y(4)**3 + 30*y(2)*y(3)*y(4)**4 + 3174*y(3)**6 + 3039*y(3)**5*y(4) + 771*y(3)**4*y(4)**2 + 135*y(3)**3*y(4)**3 + 60*y(3)**2*y(4)**4)) &
1863 /(5*(y(2) + y(3))**2*(y(1) + y(2) + y(3))**2*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4))**2)
1864 beta_coef_y(i + 1, 2, 4) = -(4*y(3)**2*(100*y(1)**2*y(2)*y(3)**2 + 10*y(1)**2*y(2)*y(3)*y(4) + 10*y(1)**2*y(2)*y(4)**2 - 95*y(1)**2*y(3)**2*y(4) + 5*y(1)**2*y(3)*y(4)**2 + 300*y(1)*y(2)**2*y(3)**2 + 30*y(1)*y(2)**2*y(3)*y(4) + 30*y(1)*y(2)**2*y(4)**2 + 200*y(1)*y(2)*y(3)**3 &
1865 - 260*y(1)*y(2)*y(3)**2*y(4) + 50*y(1)*y(2)*y(3)*y(4)**2 + 10*y(1)*y(2)*y(4)**3 + 1562*y(1)*y(3)**4 - 190*y(1)*y(3)**3*y(4) + 15*y(1)*y(3)**2*y(4)**2 + 5*y(1)*y(3)*y(4)**3 + 300*y(2)**3*y(3)**2 + 30*y(2)**3*y(3)*y(4) + 30*y(2)**3*y(4)**2 + 400*y(2)**2*y(3)**3 &
1866 - 235*y(2)**2*y(3)**2*y(4) + 85*y(2)**2*y(3)*y(4)**2 + 20*y(2)**2*y(4)**3 + 3224*y(2)*y(3)**4 - 460*y(2)*y(3)**3*y(4) - 35*y(2)*y(3)**2*y(4)**2 + 25*y(2)*y(3)*y(4)**3 + 3124*y(3)**5 + 1467*y(3)**4*y(4) + 110*y(3)**3*y(4)**2 + 105*y(3)**2*y(4)**3)) &
1867 /(5*(y(1) + y(2))*(y(2) + y(3))*(y(1) + y(2) + y(3))**2*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4))**2)
1868 beta_coef_y(i + 1, 2, 5) = (4*y(3)**2*(50*y(2)**2*y(3)**2 + 5*y(2)**2*y(3)*y(4) + 5*y(2)**2*y(4)**2 - 95*y(2)*y(3)**2*y(4) + 5*y(2)*y(3)*y(4)**2 + 781*y(3)**4 + 50*y(3)**2*y(4)**2))/(5*(y(1) + y(2))**2*(y(1) + y(2) + y(3))**2*(y(1) + y(2) + y(3) + y(4))**2)
1870 y = s_cb(i:i + 3) - s_cb(i - 1:i + 2)
1871 beta_coef_y(i + 1, 1, 0) = (4*y(2)**2*(50*y(1)**2*y(2)**2 + 5*y(1)**2*y(2)*y(3) + 5*y(1)**2*y(3)**2 - 95*y(1)*y(2)**2*y(3) + 5*y(1)*y(2)*y(3)**2 + 781*y(2)**4 + 50*y(2)**2*y(3)**2))/(5*(y(3) + y(4))**2*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4))**2)
1872 beta_coef_y(i + 1, 1, 1) = -(4*y(2)**2*(105*y(1)**3*y(2)**2 + 25*y(1)**3*y(2)*y(3) + 5*y(1)**3*y(2)*y(4) + 20*y(1)**3*y(3)**2 + 10*y(1)**3*y(3)*y(4) + 110*y(1)**2*y(2)**3 - 35*y(1)**2*y(2)**2*y(3) + 15*y(1)**2*y(2)**2*y(4) + 85*y(1)**2*y(2)*y(3)**2 + 50*y(1)**2*y(2)*y(3)*y(4) &
1873 + 5*y(1)**2*y(2)*y(4)**2 + 30*y(1)**2*y(3)**3 + 30*y(1)**2*y(3)**2*y(4) + 10*y(1)**2*y(3)*y(4)**2 + 1467*y(1)*y(2)**4 - 460*y(1)*y(2)**3*y(3) - 190*y(1)*y(2)**3*y(4) - 235*y(1)*y(2)**2*y(3)**2 - 260*y(1)*y(2)**2*y(3)*y(4) - 95*y(1)*y(2)**2*y(4)**2 &
1874 + 30*y(1)*y(2)*y(3)**3 + 30*y(1)*y(2)*y(3)**2*y(4) + 10*y(1)*y(2)*y(3)*y(4)**2 + 3124*y(2)**5 + 3224*y(2)**4*y(3) + 1562*y(2)**4*y(4) + 400*y(2)**3*y(3)**2 + 200*y(2)**3*y(3)*y(4) + 300*y(2)**2*y(3)**3 + 300*y(2)**2*y(3)**2*y(4) + 100*y(2)**2*y(3)*y(4)**2)) &
1875 /(5*(y(2) + y(3))*(y(3) + y(4))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4))**2)
1876 beta_coef_y(i + 1, 1, 2) = -(4*y(2)**2*(100*y(1)*y(2)**3 - 190*y(2)**2*y(3)**2 + 10*y(1)*y(3)**3 + 5*y(2)*y(3)**3 - 95*y(2)**3*y(3) - 1562*y(2)**4 + 15*y(1)*y(2)*y(3)**2 + 205*y(1)*y(2)**2*y(3) + 100*y(1)*y(2)**2*y(4) + 10*y(1)*y(3)**2*y(4) + 5*y(2)*y(3)**2*y(4) - 95*y(2)**2*y(3)*y(4) &
1877 + 10*y(1)*y(2)*y(3)*y(4)))/(5*(y(1) + y(2))*(y(3) + y(4))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4))**2)
1878 beta_coef_y(i + 1, 1, 3) = (4*y(2)**2*(60*y(1)**4*y(2)**2 + 30*y(1)**4*y(2)*y(3) + 15*y(1)**4*y(2)*y(4) + 20*y(1)**4*y(3)**2 + 20*y(1)**4*y(3)*y(4) + 5*y(1)**4*y(4)**2 + 135*y(1)**3*y(2)**3 + 140*y(1)**3*y(2)**2*y(3) + 70*y(1)**3*y(2)**2*y(4) + 165*y(1)**3*y(2)*y(3)**2 &
1879 + 165*y(1)**3*y(2)*y(3)*y(4) + 45*y(1)**3*y(2)*y(4)**2 + 60*y(1)**3*y(3)**3 + 90*y(1)**3*y(3)**2*y(4) + 50*y(1)**3*y(3)*y(4)**2 + 10*y(1)**3*y(4)**3 + 771*y(1)**2*y(2)**4 - 200*y(1)**2*y(2)**3*y(3) - 100*y(1)**2*y(2)**3*y(4) + 25*y(1)**2*y(2)**2*y(3)**2 &
1880 + 25*y(1)**2*y(2)**2*y(3)*y(4) - 10*y(1)**2*y(2)**2*y(4)**2 + 210*y(1)**2*y(2)*y(3)**3 + 315*y(1)**2*y(2)*y(3)**2*y(4) + 175*y(1)**2*y(2)*y(3)*y(4)**2 + 35*y(1)**2*y(2)*y(4)**3 + 45*y(1)**2*y(3)**4 + 90*y(1)**2*y(3)**3*y(4) + 75*y(1)**2*y(3)**2*y(4)**2 &
1881 + 30*y(1)**2*y(3)*y(4)**3 + 5*y(1)**2*y(4)**4 + 3039*y(1)*y(2)**5 + 2814*y(1)*y(2)**4*y(3) + 1407*y(1)*y(2)**4*y(4) - 120*y(1)*y(2)**3*y(3)**2 - 120*y(1)*y(2)**3*y(3)*y(4) - 50*y(1)*y(2)**3*y(4)**2 + 150*y(1)*y(2)**2*y(3)**3 + 225*y(1)*y(2)**2*y(3)**2*y(4) &
1882 + 125*y(1)*y(2)**2*y(3)*y(4)**2 + 25*y(1)*y(2)**2*y(4)**3 + 45*y(1)*y(2)*y(3)**4 + 90*y(1)*y(2)*y(3)**3*y(4) + 75*y(1)*y(2)*y(3)**2*y(4)**2 + 30*y(1)*y(2)*y(3)*y(4)**3 + 5*y(1)*y(2)*y(4)**4 + 3174*y(2)**6 + 6648*y(2)**5*y(3) + 3324*y(2)**5*y(4) &
1883 + 4224*y(2)**4*y(3)**2 + 4224*y(2)**4*y(3)*y(4) + 1081*y(2)**4*y(4)**2 + 1200*y(2)**3*y(3)**3 + 1800*y(2)**3*y(3)**2*y(4) + 1000*y(2)**3*y(3)*y(4)**2 + 200*y(2)**3*y(4)**3 + 450*y(2)**2*y(3)**4 + 900*y(2)**2*y(3)**3*y(4) + 750*y(2)**2*y(3)**2*y(4)**2 &
1884 + 300*y(2)**2*y(3)*y(4)**3 + 50*y(2)**2*y(4)**4))/(5*(y(2) + y(3))**2*(y(1) + y(2) + y(3))**2*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4))**2)
1885 beta_coef_y(i + 1, 1, 4) = (4*y(2)**2*(105*y(1)**2*y(2)**3 + 220*y(1)**2*y(2)**2*y(3) + 110*y(1)**2*y(2)**2*y(4) + 35*y(1)**2*y(2)*y(3)**2 + 35*y(1)**2*y(2)*y(3)*y(4) + 5*y(1)**2*y(2)*y(4)**2 + 20*y(1)**2*y(3)**3 + 30*y(1)**2*y(3)**2*y(4) + 10*y(1)**2*y(3)*y(4)**2 - 1452*y(1)*y(2)**4 &
1886 + 250*y(1)*y(2)**3*y(3) + 125*y(1)*y(2)**3*y(4) + 100*y(1)*y(2)**2*y(3)**2 + 100*y(1)*y(2)**2*y(3)*y(4) + 20*y(1)*y(2)**2*y(4)**2 + 90*y(1)*y(2)*y(3)**3 + 135*y(1)*y(2)*y(3)**2*y(4) + 55*y(1)*y(2)*y(3)*y(4)**2 + 5*y(1)*y(2)*y(4)**3 + 30*y(1)*y(3)**4 &
1887 + 60*y(1)*y(3)**3*y(4) + 40*y(1)*y(3)**2*y(4)**2 + 10*y(1)*y(3)*y(4)**3 - 3219*y(2)**5 - 3694*y(2)**4*y(3) - 1847*y(2)**4*y(4) - 1040*y(2)**3*y(3)**2 - 1040*y(2)**3*y(3)*y(4) - 285*y(2)**3*y(4)**2 - 550*y(2)**2*y(3)**3 - 825*y(2)**2*y(3)**2*y(4) &
1888 - 465*y(2)**2*y(3)*y(4)**2 - 95*y(2)**2*y(4)**3 + 15*y(2)*y(3)**4 + 30*y(2)*y(3)**3*y(4) + 20*y(2)*y(3)**2*y(4)**2 + 5*y(2)*y(3)*y(4)**3))/(5*(y(1) + y(2))*(y(2) + y(3))*(y(1) + y(2) + y(3))**2*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4))**2)
1889 beta_coef_y(i + 1, 1, 5) = (4*y(2)**2*(831*y(2)**4 + 200*y(2)**3*y(3) + 100*y(2)**3*y(4) + 205*y(2)**2*y(3)**2 + 205*y(2)**2*y(3)*y(4) + 50*y(2)**2*y(4)**2 + 10*y(2)*y(3)**3 + 15*y(2)*y(3)**2*y(4) + 5*y(2)*y(3)*y(4)**2 + 5*y(3)**4 + 10*y(3)**3*y(4) + 5*y(3)**2*y(4)**2))/(5*(y(1) &
1890 + y(2))**2*(y(1) + y(2) + y(3))**2*(y(1) + y(2) + y(3) + y(4))**2)
1892 y = s_cb(i + 1:i + 4) - s_cb(i:i + 3)
1893 beta_coef_y(i + 1, 0, 0) = (4*y(1)**2*(831*y(1)**4 + 200*y(1)**3*y(2) + 100*y(1)**3*y(3) + 205*y(1)**2*y(2)**2 + 205*y(1)**2*y(2)*y(3) + 50*y(1)**2*y(3)**2 + 10*y(1)*y(2)**3 + 15*y(1)*y(2)**2*y(3) + 5*y(1)*y(2)*y(3)**2 + 5*y(2)**4 + 10*y(2)**3*y(3) + 5*y(2)**2*y(3)**2))/(5*(y(3) &
1894 + y(4))**2*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4))**2)
1895 beta_coef_y(i + 1, 0, 1) = -(4*y(1)**2*(1662*y(1)**5 + 3824*y(1)**4*y(2) + 3624*y(1)**4*y(3) + 1762*y(1)**4*y(4) + 1515*y(1)**3*y(2)**2 + 2115*y(1)**3*y(2)*y(3) + 805*y(1)**3*y(2)*y(4) + 700*y(1)**3*y(3)**2 + 500*y(1)**3*y(3)*y(4) + 100*y(1)**3*y(4)**2 + 1060*y(1)**2*y(2)**3 &
1896 + 2205*y(1)**2*y(2)**2*y(3) + 835*y(1)**2*y(2)**2*y(4) + 1445*y(1)**2*y(2)*y(3)**2 + 1030*y(1)**2*y(2)*y(3)*y(4) + 205*y(1)**2*y(2)*y(4)**2 + 300*y(1)**2*y(3)**3 + 300*y(1)**2*y(3)**2*y(4) + 100*y(1)**2*y(3)*y(4)**2 + 75*y(1)*y(2)**4 + 180*y(1)*y(2)**3*y(3) &
1897 + 60*y(1)*y(2)**3*y(4) + 135*y(1)*y(2)**2*y(3)**2 + 90*y(1)*y(2)**2*y(3)*y(4) + 15*y(1)*y(2)**2*y(4)**2 + 30*y(1)*y(2)*y(3)**3 + 30*y(1)*y(2)*y(3)**2*y(4) + 10*y(1)*y(2)*y(3)*y(4)**2 + 30*y(2)**5 + 90*y(2)**4*y(3) + 30*y(2)**4*y(4) + 90*y(2)**3*y(3)**2 &
1898 + 60*y(2)**3*y(3)*y(4) + 10*y(2)**3*y(4)**2 + 30*y(2)**2*y(3)**3 + 30*y(2)**2*y(3)**2*y(4) + 10*y(2)**2*y(3)*y(4)**2))/(5*(y(2) + y(3))*(y(3) + y(4))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4))**2)
1899 beta_coef_y(i + 1, 0, 2) = (4*y(1)**2*(1767*y(1)**4 + 725*y(1)**3*y(2) + 415*y(1)**3*y(3) + 105*y(4)*y(1)**3 + 665*y(1)**2*y(2)**2 + 775*y(1)**2*y(2)*y(3) + 220*y(4)*y(1)**2*y(2) + 215*y(1)**2*y(3)**2 + 110*y(4)*y(1)**2*y(3) + 75*y(1)*y(2)**3 + 130*y(1)*y(2)**2*y(3) + 35*y(4)*y(1)*y(2)**2 &
1900 + 60*y(1)*y(2)*y(3)**2 + 35*y(4)*y(1)*y(2)*y(3) + 5*y(1)*y(3)**3 + 5*y(4)*y(1)*y(3)**2 + 30*y(2)**4 + 70*y(2)**3*y(3) + 20*y(4)*y(2)**3 + 50*y(2)**2*y(3)**2 + 30*y(4)*y(2)**2*y(3) + 10*y(2)*y(3)**3 + 10*y(4)*y(2)*y(3)**2)) &
1901 /(5*(y(1) + y(2))*(y(3) + y(4))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4))**2)
1902 beta_coef_y(i + 1, 0, 3) = (4*y(1)**2*(831*y(1)**6 + 3624*y(1)**5*y(2) + 3524*y(1)**5*y(3) + 1762*y(1)**5*y(4) + 4884*y(1)**4*y(2)**2 + 9058*y(1)**4*y(2)*y(3) + 4529*y(1)**4*y(2)*y(4) + 4224*y(1)**4*y(3)**2 + 4224*y(1)**4*y(3)*y(4) + 1081*y(1)**4*y(4)**2 + 2565*y(1)**3*y(2)**3 &
1903 + 6120*y(1)**3*y(2)**2*y(3) + 3060*y(1)**3*y(2)**2*y(4) + 4755*y(1)**3*y(2)*y(3)**2 + 4755*y(1)**3*y(2)*y(3)*y(4) + 1315*y(1)**3*y(2)*y(4)**2 + 1200*y(1)**3*y(3)**3 + 1800*y(1)**3*y(3)**2*y(4) + 1000*y(1)**3*y(3)*y(4)**2 + 200*y(1)**3*y(4)**3 + 1395*y(1)**2*y(2)**4 &
1904 + 4380*y(1)**2*y(2)**3*y(3) + 2190*y(1)**2*y(2)**3*y(4) + 5025*y(1)**2*y(2)**2*y(3)**2 + 5025*y(1)**2*y(2)**2*y(3)*y(4) + 1390*y(1)**2*y(2)**2*y(4)**2 + 2490*y(1)**2*y(2)*y(3)**3 + 3735*y(1)**2*y(2)*y(3)**2*y(4) + 2075*y(1)**2*y(2)*y(3)*y(4)**2 &
1905 + 415*y(1)**2*y(2)*y(4)**3 + 450*y(1)**2*y(3)**4 + 900*y(1)**2*y(3)**3*y(4) + 750*y(1)**2*y(3)**2*y(4)**2 + 300*y(1)**2*y(3)*y(4)**3 + 50*y(1)**2*y(4)**4 + 135*y(1)*y(2)**5 + 450*y(1)*y(2)**4*y(3) + 225*y(1)*y(2)**4*y(4) + 540*y(1)*y(2)**3*y(3)**2 &
1906 + 540*y(1)*y(2)**3*y(3)*y(4) + 150*y(1)*y(2)**3*y(4)**2 + 270*y(1)*y(2)**2*y(3)**3 + 405*y(1)*y(2)**2*y(3)**2*y(4) + 225*y(1)*y(2)**2*y(3)*y(4)**2 + 45*y(1)*y(2)**2*y(4)**3 + 45*y(1)*y(2)*y(3)**4 + 90*y(1)*y(2)*y(3)**3*y(4) + 75*y(1)*y(2)*y(3)**2*y(4)**2 &
1907 + 30*y(1)*y(2)*y(3)*y(4)**3 + 5*y(1)*y(2)*y(4)**4 + 45*y(2)**6 + 180*y(2)**5*y(3) + 90*y(2)**5*y(4) + 270*y(2)**4*y(3)**2 + 270*y(2)**4*y(3)*y(4) + 75*y(2)**4*y(4)**2 + 180*y(2)**3*y(3)**3 + 270*y(2)**3*y(3)**2*y(4) + 150*y(2)**3*y(3)*y(4)**2 + 30*y(2)**3*y(4)**3 &
1908 + 45*y(2)**2*y(3)**4 + 90*y(2)**2*y(3)**3*y(4) + 75*y(2)**2*y(3)**2*y(4)**2 + 30*y(2)**2*y(3)*y(4)**3 + 5*y(2)**2*y(4)**4))/(5*(y(2) + y(3))**2*(y(1) + y(2) + y(3))**2*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4))**2)
1909 beta_coef_y(i + 1, 0, 4) = -(4*y(1)**2*(1767*y(1)**5 + 4464*y(1)**4*y(2) + 4154*y(1)**4*y(3) + 2077*y(1)**4*y(4) + 2655*y(1)**3*y(2)**2 + 4010*y(1)**3*y(2)*y(3) + 2005*y(1)**3*y(2)*y(4) + 1460*y(1)**3*y(3)**2 + 1460*y(1)**3*y(3)*y(4) + 415*y(1)**3*y(4)**2 + 1800*y(1)**2*y(2)**3 &
1910 + 4000*y(1)**2*y(2)**2*y(3) + 2000*y(1)**2*y(2)**2*y(4) + 2850*y(1)**2*y(2)*y(3)**2 + 2850*y(1)**2*y(2)*y(3)*y(4) + 790*y(1)**2*y(2)*y(4)**2 + 650*y(1)**2*y(3)**3 + 975*y(1)**2*y(3)**2*y(4) + 535*y(1)**2*y(3)*y(4)**2 + 105*y(1)**2*y(4)**3 + 270*y(1)*y(2)**4 &
1911 + 720*y(1)*y(2)**3*y(3) + 360*y(1)*y(2)**3*y(4) + 645*y(1)*y(2)**2*y(3)**2 + 645*y(1)*y(2)**2*y(3)*y(4) + 165*y(1)*y(2)**2*y(4)**2 + 210*y(1)*y(2)*y(3)**3 + 315*y(1)*y(2)*y(3)**2*y(4) + 155*y(1)*y(2)*y(3)*y(4)**2 + 25*y(1)*y(2)*y(4)**3 + 15*y(1)*y(3)**4 &
1912 + 30*y(1)*y(3)**3*y(4) + 20*y(1)*y(3)**2*y(4)**2 + 5*y(1)*y(3)*y(4)**3 + 90*y(2)**5 + 300*y(2)**4*y(3) + 150*y(2)**4*y(4) + 360*y(2)**3*y(3)**2 + 360*y(2)**3*y(3)*y(4) + 90*y(2)**3*y(4)**2 + 180*y(2)**2*y(3)**3 + 270*y(2)**2*y(3)**2*y(4) + 130*y(2)**2*y(3)*y(4)**2 &
1913 + 20*y(2)**2*y(4)**3 + 30*y(2)*y(3)**4 + 60*y(2)*y(3)**3*y(4) + 40*y(2)*y(3)**2*y(4)**2 + 10*y(2)*y(3)*y(4)**3))/(5*(y(1) + y(2))*(y(2) + y(3))*(y(1) + y(2) + y(3))**2*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4))**2)
1914 beta_coef_y(i + 1, 0, 5) = (4*y(1)**2*(996*y(1)**4 + 675*y(1)**3*y(2) + 450*y(1)**3*y(3) + 225*y(1)**3*y(4) + 600*y(1)**2*y(2)**2 + 800*y(1)**2*y(2)*y(3) + 400*y(1)**2*y(2)*y(4) + 260*y(1)**2*y(3)**2 + 260*y(1)**2*y(3)*y(4) + 60*y(1)**2*y(4)**2 + 135*y(1)*y(2)**3 + 270*y(1)*y(2)**2*y(3) &
1915 + 135*y(1)*y(2)**2*y(4) + 165*y(1)*y(2)*y(3)**2 + 165*y(1)*y(2)*y(3)*y(4) + 30*y(1)*y(2)*y(4)**2 + 30*y(1)*y(3)**3 + 45*y(1)*y(3)**2*y(4) + 15*y(1)*y(3)*y(4)**2 + 45*y(2)**4 + 120*y(2)**3*y(3) + 60*y(2)**3*y(4) + 110*y(2)**2*y(3)**2 + 110*y(2)**2*y(3)*y(4) &
1916 + 20*y(2)**2*y(4)**2 + 40*y(2)*y(3)**3 + 60*y(2)*y(3)**2*y(4) + 20*y(2)*y(3)*y(4)**2 + 5*y(3)**4 + 10*y(3)**3*y(4) + 5*y(3)**2*y(4)**2))/(5*(y(1) + y(2))**2*(y(1) + y(2) + y(3))**2*(y(1) + y(2) + y(3) + y(4))**2)
1938# 229 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
1940 if (weno_dir == 3)
then
1941 if (weno_order == 3)
then
1942 do i = is%beg - 1 + weno_polyn, is%end - 1 - weno_polyn
1945 (s_cb(i) - s_cb(i + 2))
1947 (s_cb(i - 1) - s_cb(i + 1))
1952 d_cbr_z(0, i + 1) = (s_cb(i - 1) - s_cb(i + 1))/ &
1953 (s_cb(i - 1) - s_cb(i + 2))
1954 d_cbl_z(0, i + 1) = (s_cb(i - 1) - s_cb(i))/ &
1955 (s_cb(i - 1) - s_cb(i + 2))
1960 beta_coef_z(i + 1, 0, 0) = 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp/ &
1961 (s_cb(i) - s_cb(i + 2))**2._wp
1962 beta_coef_z(i + 1, 1, 0) = 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp/ &
1963 (s_cb(i - 1) - s_cb(i + 1))**2._wp
1971 if (null_weights)
then
1972 if (bc_s%beg == bc_riemann_extrap)
then
1977 if (bc_s%end == bc_riemann_extrap)
then
1985 elseif (weno_order == 5)
then
1987 do i = is%beg - 1 + weno_polyn, is%end - 1 - weno_polyn
1990 ((s_cb(i) - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i + 2)))/ &
1991 ((s_cb(i) - s_cb(i + 3))*(s_cb(i + 3) - s_cb(i + 1)))
1993 ((s_cb(i - 1) - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i)))/ &
1994 ((s_cb(i - 1) - s_cb(i + 2))*(s_cb(i + 2) - s_cb(i)))
1996 ((s_cb(i) - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i + 2)))/ &
1997 ((s_cb(i - 1) - s_cb(i + 1))*(s_cb(i - 1) - s_cb(i + 2)))
1999 ((s_cb(i) - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i - 1)))/ &
2000 ((s_cb(i - 2) - s_cb(i))*(s_cb(i - 2) - s_cb(i + 1)))
2002 ((s_cb(i + 1) - s_cb(i))*(s_cb(i) - s_cb(i + 2)))/ &
2003 ((s_cb(i) - s_cb(i + 3))*(s_cb(i + 3) - s_cb(i + 1)))
2005 ((s_cb(i) - s_cb(i - 1))*(s_cb(i) - s_cb(i + 1)))/ &
2006 ((s_cb(i - 1) - s_cb(i + 2))*(s_cb(i) - s_cb(i + 2)))
2008 ((s_cb(i + 1) - s_cb(i))*(s_cb(i) - s_cb(i + 2)))/ &
2009 ((s_cb(i - 1) - s_cb(i + 1))*(s_cb(i - 1) - s_cb(i + 2)))
2011 ((s_cb(i - 1) - s_cb(i))*(s_cb(i) - s_cb(i + 1)))/ &
2012 ((s_cb(i - 2) - s_cb(i))*(s_cb(i - 2) - s_cb(i + 1)))
2015 ((s_cb(i) - s_cb(i + 2)) + (s_cb(i + 1) - s_cb(i + 3)))/ &
2016 ((s_cb(i) - s_cb(i + 2))*(s_cb(i) - s_cb(i + 3)))* &
2017 ((s_cb(i) - s_cb(i + 1)))
2019 ((s_cb(i - 2) - s_cb(i + 1)) + (s_cb(i - 1) - s_cb(i + 1)))/ &
2020 ((s_cb(i - 1) - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i - 2)))* &
2021 ((s_cb(i + 1) - s_cb(i)))
2023 ((s_cb(i) - s_cb(i + 2)) + (s_cb(i) - s_cb(i + 3)))/ &
2024 ((s_cb(i) - s_cb(i + 2))*(s_cb(i) - s_cb(i + 3)))* &
2025 ((s_cb(i + 1) - s_cb(i)))
2027 ((s_cb(i - 2) - s_cb(i)) + (s_cb(i - 1) - s_cb(i + 1)))/ &
2028 ((s_cb(i - 2) - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i - 1)))* &
2029 ((s_cb(i) - s_cb(i + 1)))
2032 ((s_cb(i - 2) - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i - 1)))/ &
2033 ((s_cb(i - 2) - s_cb(i + 3))*(s_cb(i + 3) - s_cb(i - 1)))
2035 ((s_cb(i + 1) - s_cb(i + 2))*(s_cb(i + 1) - s_cb(i + 3)))/ &
2036 ((s_cb(i - 2) - s_cb(i + 2))*(s_cb(i - 2) - s_cb(i + 3)))
2038 ((s_cb(i - 2) - s_cb(i))*(s_cb(i) - s_cb(i - 1)))/ &
2039 ((s_cb(i - 2) - s_cb(i + 3))*(s_cb(i + 3) - s_cb(i - 1)))
2041 ((s_cb(i) - s_cb(i + 2))*(s_cb(i) - s_cb(i + 3)))/ &
2042 ((s_cb(i - 2) - s_cb(i + 2))*(s_cb(i - 2) - s_cb(i + 3)))
2048 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(10._wp*(s_cb(i + 1) - &
2049 s_cb(i))**2._wp + (s_cb(i + 1) - s_cb(i))*(s_cb(i + 2) - &
2050 s_cb(i + 1)) + (s_cb(i + 2) - s_cb(i + 1))**2._wp)/((s_cb(i) - &
2051 s_cb(i + 3))**2._wp*(s_cb(i + 1) - s_cb(i + 3))**2._wp)
2054 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(19._wp*(s_cb(i + 1) - &
2055 s_cb(i))**2._wp - (s_cb(i + 1) - s_cb(i))*(s_cb(i + 3) - &
2056 s_cb(i + 1)) + 2._wp*(s_cb(i + 2) - s_cb(i))*((s_cb(i + 2) - &
2057 s_cb(i)) + (s_cb(i + 3) - s_cb(i + 1))))/((s_cb(i) - &
2058 s_cb(i + 2))*(s_cb(i) - s_cb(i + 3))**2._wp*(s_cb(i + 3) - &
2062 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(10._wp*(s_cb(i + 1) - &
2063 s_cb(i))**2._wp + (s_cb(i + 1) - s_cb(i))*((s_cb(i + 2) - &
2064 s_cb(i)) + (s_cb(i + 3) - s_cb(i + 1))) + ((s_cb(i + 2) - &
2065 s_cb(i)) + (s_cb(i + 3) - s_cb(i + 1)))**2._wp)/((s_cb(i) - &
2066 s_cb(i + 2))**2._wp*(s_cb(i) - s_cb(i + 3))**2._wp)
2069 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(10._wp*(s_cb(i + 1) - &
2070 s_cb(i))**2._wp + (s_cb(i) - s_cb(i - 1))**2._wp + (s_cb(i) - &
2071 s_cb(i - 1))*(s_cb(i + 1) - s_cb(i)))/((s_cb(i - 1) - &
2072 s_cb(i + 2))**2._wp*(s_cb(i) - s_cb(i + 2))**2._wp)
2075 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*((s_cb(i) - &
2076 s_cb(i + 1))*((s_cb(i) - s_cb(i - 1)) + 20._wp*(s_cb(i + 1) - &
2077 s_cb(i))) + (2._wp*(s_cb(i) - s_cb(i - 1)) + (s_cb(i + 1) - &
2078 s_cb(i)))*(s_cb(i + 2) - s_cb(i)))/((s_cb(i + 1) - &
2079 s_cb(i - 1))*(s_cb(i - 1) - s_cb(i + 2))**2._wp*(s_cb(i + 2) - &
2083 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(10._wp*(s_cb(i + 1) - &
2084 s_cb(i))**2._wp + (s_cb(i + 1) - s_cb(i))*(s_cb(i + 2) - &
2085 s_cb(i + 1)) + (s_cb(i + 2) - s_cb(i + 1))**2._wp)/ &
2086 ((s_cb(i - 1) - s_cb(i + 1))**2._wp*(s_cb(i - 1) - &
2087 s_cb(i + 2))**2._wp)
2090 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(12._wp*(s_cb(i + 1) - &
2091 s_cb(i))**2._wp + ((s_cb(i) - s_cb(i - 2)) + (s_cb(i) - &
2092 s_cb(i - 1)))**2._wp + 3._wp*((s_cb(i) - s_cb(i - 2)) + &
2093 (s_cb(i) - s_cb(i - 1)))*(s_cb(i + 1) - s_cb(i)))/ &
2094 ((s_cb(i - 2) - s_cb(i + 1))**2._wp*(s_cb(i - 1) - &
2095 s_cb(i + 1))**2._wp)
2098 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(19._wp*(s_cb(i + 1) - &
2099 s_cb(i))**2._wp + ((s_cb(i) - s_cb(i - 2))*(s_cb(i) - &
2100 s_cb(i + 1))) + 2._wp*(s_cb(i + 1) - s_cb(i - 1))*((s_cb(i) - &
2101 s_cb(i - 2)) + (s_cb(i + 1) - s_cb(i - 1))))/((s_cb(i - 2) - &
2102 s_cb(i))*(s_cb(i - 2) - s_cb(i + 1))**2._wp*(s_cb(i + 1) - &
2106 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(10._wp*(s_cb(i + 1) - &
2107 s_cb(i))**2._wp + (s_cb(i) - s_cb(i - 1))**2._wp + (s_cb(i) - &
2108 s_cb(i - 1))*(s_cb(i + 1) - s_cb(i)))/((s_cb(i - 2) - &
2109 s_cb(i))**2._wp*(s_cb(i - 2) - s_cb(i + 1))**2._wp)
2117 if (null_weights)
then
2118 if (bc_s%beg == bc_riemann_extrap)
then
2125 if (bc_s%end == bc_riemann_extrap)
then
2135 if (.not. teno)
then
2137 do i = is%beg - 1 + weno_polyn, is%end - 1 - weno_polyn
2150 w = s_cb(i - 3:i + 4) - s_cb(i)
2151 d_cbr_z(0, i + 1) = ((w(5) - w(6))*(w(5) - w(7))*(w(5) - w(8)))/((w(1) - w(6))*(w(1) - w(7))*(w(1) - w(8)))
2152 d_cbr_z(1, i + 1) = ((w(1) - w(5))*(w(5) - w(7))*(w(5) - w(8))*(w(1)*w(2) - w(1)*w(6) - w(1)*w(7) - w(2)*w(6) - w(1)*w(8) - w(2)*w(7) - w(2)*w(8) + w(6)*w(7) + w(6)*w(8) + w(7)*w(8) + w(1)**2 + w(2)**2))/((w(1) - w(6))*(w(1) - w(7))*(w(1) - w(8))*(w(2) - w(7))*(w(2) - w(8)))
2153 d_cbr_z(2, i + 1) = ((w(1) - w(5))*(w(2) - w(5))*(w(5) - w(8))*(w(1)*w(2) + w(1)*w(3) + w(2)*w(3) - w(1)*w(7) - w(1)*w(8) - w(2)*w(7) - w(2)*w(8) - w(3)*w(7) - w(3)*w(8) + w(7)*w(8) + w(7)**2 + w(8)**2))/((w(1) - w(7))*(w(1) - w(8))*(w(2) - w(7))*(w(2) - w(8))*(w(3) - w(8)))
2154 d_cbr_z(3, i + 1) = ((w(1) - w(5))*(w(2) - w(5))*(w(3) - w(5)))/((w(1) - w(8))*(w(2) - w(8))*(w(3) - w(8)))
2156 w = s_cb(i + 4:i - 3:-1) - s_cb(i)
2157 d_cbl_z(0, i + 1) = ((w(1) - w(5))*(w(2) - w(5))*(w(3) - w(5)))/((w(1) - w(8))*(w(2) - w(8))*(w(3) - w(8)))
2158 d_cbl_z(1, i + 1) = ((w(1) - w(5))*(w(2) - w(5))*(w(5) - w(8))*(w(1)*w(2) + w(1)*w(3) + w(2)*w(3) - w(1)*w(7) - w(1)*w(8) - w(2)*w(7) - w(2)*w(8) - w(3)*w(7) - w(3)*w(8) + w(7)*w(8) + w(7)**2 + w(8)**2))/((w(1) - w(7))*(w(1) - w(8))*(w(2) - w(7))*(w(2) - w(8))*(w(3) - w(8)))
2159 d_cbl_z(2, i + 1) = ((w(1) - w(5))*(w(5) - w(7))*(w(5) - w(8))*(w(1)*w(2) - w(1)*w(6) - w(1)*w(7) - w(2)*w(6) - w(1)*w(8) - w(2)*w(7) - w(2)*w(8) + w(6)*w(7) + w(6)*w(8) + w(7)*w(8) + w(1)**2 + w(2)**2))/((w(1) - w(6))*(w(1) - w(7))*(w(1) - w(8))*(w(2) - w(7))*(w(2) - w(8)))
2160 d_cbl_z(3, i + 1) = ((w(5) - w(6))*(w(5) - w(7))*(w(5) - w(8)))/((w(1) - w(6))*(w(1) - w(7))*(w(1) - w(8)))
2163 y = s_cb(i + 1:i + 4) - s_cb(i:i + 3)
2164 poly_coef_cbr_z(i + 1, 0, 0) = (y(1)*y(2)*(y(2) + y(3)))/((y(3) + y(4))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
2165 poly_coef_cbr_z(i + 1, 0, 1) = -(y(1)*y(2)*(3*y(2)**2 + 6*y(2)*y(3) + 3*y(2)*y(4) + 2*y(1)*y(2) + 3*y(3)**2 + 3*y(3)*y(4) + 2*y(1)*y(3) + y(4)**2 + y(1)*y(4)))/((y(2) + y(3))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
2166 poly_coef_cbr_z(i + 1, 0, 2) = (y(1)*(y(1)**2 + 3*y(1)*y(2) + 2*y(1)*y(3) + y(4)*y(1) + 3*y(2)**2 + 4*y(2)*y(3) + 2*y(4)*y(2) + y(3)**2 + y(4)*y(3)))/((y(1) + y(2))*(y(1) + y(2) + y(3))*(y(1) + y(2) + y(3) + y(4)))
2168 y = s_cb(i:i + 3) - s_cb(i - 1:i + 2)
2169 poly_coef_cbr_z(i + 1, 1, 0) = -(y(2)*y(3)*(y(1) + y(2)))/((y(3) + y(4))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
2170 poly_coef_cbr_z(i + 1, 1, 1) = (y(2)*(y(1) + y(2))*(y(2)**2 + 4*y(2)*y(3) + 2*y(2)*y(4) + y(1)*y(2) + 3*y(3)**2 + 3*y(3)*y(4) + 2*y(1)*y(3) + y(4)**2 + y(1)*y(4)))/((y(2) + y(3))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
2171 poly_coef_cbr_z(i + 1, 1, 2) = (y(2)*y(3)*(y(3) + y(4)))/((y(1) + y(2))*(y(1) + y(2) + y(3))*(y(1) + y(2) + y(3) + y(4)))
2173 y = s_cb(i - 1:i + 2) - s_cb(i - 2:i + 1)
2174 poly_coef_cbr_z(i + 1, 2, 0) = (y(3)*(y(2) + y(3))*(y(1) + y(2) + y(3)))/((y(3) + y(4))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
2175 poly_coef_cbr_z(i + 1, 2, 1) = (y(3)*y(4)*(y(1)**2 + 3*y(1)*y(2) + 3*y(1)*y(3) + y(4)*y(1) + 3*y(2)**2 + 6*y(2)*y(3) + 2*y(4)*y(2) + 3*y(3)**2 + 2*y(4)*y(3)))/((y(2) + y(3))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
2176 poly_coef_cbr_z(i + 1, 2, 2) = -(y(3)*y(4)*(y(2) + y(3)))/((y(1) + y(2))*(y(1) + y(2) + y(3))*(y(1) + y(2) + y(3) + y(4)))
2178 y = s_cb(i - 2:i + 1) - s_cb(i - 3:i)
2179 poly_coef_cbr_z(i + 1, 3, 0) = (y(4)*(y(2)**2 + 4*y(2)*y(3) + 4*y(2)*y(4) + y(1)*y(2) + 3*y(3)**2 + 6*y(3)*y(4) + 2*y(1)*y(3) + 3*y(4)**2 + 2*y(1)*y(4)))/((y(3) + y(4))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
2180 poly_coef_cbr_z(i + 1, 3, 1) = -(y(4)*(y(3) + y(4))*(y(1)**2 + 3*y(1)*y(2) + 3*y(1)*y(3) + 2*y(1)*y(4) + 3*y(2)**2 + 6*y(2)*y(3) + 4*y(2)*y(4) + 3*y(3)**2 + 4*y(3)*y(4) + y(4)**2))/((y(2) + y(3))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
2181 poly_coef_cbr_z(i + 1, 3, 2) = (y(4)*(y(3) + y(4))*(y(2) + y(3) + y(4)))/((y(1) + y(2))*(y(1) + y(2) + y(3))*(y(1) + y(2) + y(3) + y(4)))
2183 y = s_cb(i + 1:i - 2:-1) - s_cb(i:i - 3:-1)
2184 poly_coef_cbl_z(i + 1, 3, 2) = (y(1)*y(2)*(y(2) + y(3)))/((y(3) + y(4))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
2185 poly_coef_cbl_z(i + 1, 3, 1) = -(y(1)*y(2)*(3*y(2)**2 + 6*y(2)*y(3) + 3*y(2)*y(4) + 2*y(1)*y(2) + 3*y(3)**2 + 3*y(3)*y(4) + 2*y(1)*y(3) + y(4)**2 + y(1)*y(4)))/((y(2) + y(3))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
2186 poly_coef_cbl_z(i + 1, 3, 0) = (y(1)*(y(1)**2 + 3*y(1)*y(2) + 2*y(1)*y(3) + y(4)*y(1) + 3*y(2)**2 + 4*y(2)*y(3) + 2*y(4)*y(2) + y(3)**2 + y(4)*y(3)))/((y(1) + y(2))*(y(1) + y(2) + y(3))*(y(1) + y(2) + y(3) + y(4)))
2188 y = s_cb(i + 2:i - 1:-1) - s_cb(i + 1:i - 2:-1)
2189 poly_coef_cbl_z(i + 1, 2, 2) = -(y(2)*y(3)*(y(1) + y(2)))/((y(3) + y(4))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
2190 poly_coef_cbl_z(i + 1, 2, 1) = (y(2)*(y(1) + y(2))*(y(2)**2 + 4*y(2)*y(3) + 2*y(2)*y(4) + y(1)*y(2) + 3*y(3)**2 + 3*y(3)*y(4) + 2*y(1)*y(3) + y(4)**2 + y(1)*y(4)))/((y(2) + y(3))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
2191 poly_coef_cbl_z(i + 1, 2, 0) = (y(2)*y(3)*(y(3) + y(4)))/((y(1) + y(2))*(y(1) + y(2) + y(3))*(y(1) + y(2) + y(3) + y(4)))
2193 y = s_cb(i + 3:i:-1) - s_cb(i + 2:i - 1:-1)
2194 poly_coef_cbl_z(i + 1, 1, 2) = (y(3)*(y(2) + y(3))*(y(1) + y(2) + y(3)))/((y(3) + y(4))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
2195 poly_coef_cbl_z(i + 1, 1, 1) = (y(3)*y(4)*(y(1)**2 + 3*y(1)*y(2) + 3*y(1)*y(3) + y(4)*y(1) + 3*y(2)**2 + 6*y(2)*y(3) + 2*y(4)*y(2) + 3*y(3)**2 + 2*y(4)*y(3)))/((y(2) + y(3))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
2196 poly_coef_cbl_z(i + 1, 1, 0) = -(y(3)*y(4)*(y(2) + y(3)))/((y(1) + y(2))*(y(1) + y(2) + y(3))*(y(1) + y(2) + y(3) + y(4)))
2198 y = s_cb(i + 4:i + 1:-1) - s_cb(i + 3:i:-1)
2199 poly_coef_cbl_z(i + 1, 0, 2) = (y(4)*(y(2)**2 + 4*y(2)*y(3) + 4*y(2)*y(4) + y(1)*y(2) + 3*y(3)**2 + 6*y(3)*y(4) + 2*y(1)*y(3) + 3*y(4)**2 + 2*y(1)*y(4)))/((y(3) + y(4))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
2200 poly_coef_cbl_z(i + 1, 0, 1) = -(y(4)*(y(3) + y(4))*(y(1)**2 + 3*y(1)*y(2) + 3*y(1)*y(3) + 2*y(1)*y(4) + 3*y(2)**2 + 6*y(2)*y(3) + 4*y(2)*y(4) + 3*y(3)**2 + 4*y(3)*y(4) + y(4)**2))/((y(2) + y(3))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
2201 poly_coef_cbl_z(i + 1, 0, 0) = (y(4)*(y(3) + y(4))*(y(2) + y(3) + y(4)))/((y(1) + y(2))*(y(1) + y(2) + y(3))*(y(1) + y(2) + y(3) + y(4)))
2206 y = s_cb(i - 2:i + 1) - s_cb(i - 3:i)
2207 beta_coef_z(i + 1, 3, 0) = (4*y(4)**2*(5*y(1)**2*y(2)**2 + 20*y(1)**2*y(2)*y(3) + 15*y(1)**2*y(2)*y(4) + 20*y(1)**2*y(3)**2 + 30*y(1)**2*y(3)*y(4) + 60*y(1)**2*y(4)**2 + 10*y(1)*y(2)**3 + 60*y(1)*y(2)**2*y(3) + 45*y(1)*y(2)**2*y(4) + 110*y(1)*y(2)*y(3)**2 + 165*y(1)*y(2)*y(3)*y(4) &
2208 + 260*y(1)*y(2)*y(4)**2 + 60*y(1)*y(3)**3 + 135*y(1)*y(3)**2*y(4) + 400*y(1)*y(3)*y(4)**2 + 225*y(1)*y(4)**3 + 5*y(2)**4 + 40*y(2)**3*y(3) + 30*y(2)**3*y(4) + 110*y(2)**2*y(3)**2 + 165*y(2)**2*y(3)*y(4) + 260*y(2)**2*y(4)**2 + 120*y(2)*y(3)**3 &
2209 + 270*y(2)*y(3)**2*y(4) + 800*y(2)*y(3)*y(4)**2 + 450*y(2)*y(4)**3 + 45*y(3)**4 + 135*y(3)**3*y(4) + 600*y(3)**2*y(4)**2 + 675*y(3)*y(4)**3 + 996*y(4)**4))/(5*(y(3) + y(4))**2*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4))**2)
2210 beta_coef_z(i + 1, 3, 1) = -(4*y(4)**2*(10*y(1)**3*y(2)*y(3) + 5*y(1)**3*y(2)*y(4) + 20*y(1)**3*y(3)**2 + 25*y(1)**3*y(3)*y(4) + 105*y(1)**3*y(4)**2 + 40*y(1)**2*y(2)**2*y(3) + 20*y(1)**2*y(2)**2*y(4) + 130*y(1)**2*y(2)*y(3)**2 + 155*y(1)**2*y(2)*y(3)*y(4) + 535*y(1)**2*y(2)*y(4)**2 &
2211 + 90*y(1)**2*y(3)**3 + 165*y(1)**2*y(3)**2*y(4) + 790*y(1)**2*y(3)*y(4)**2 + 415*y(1)**2*y(4)**3 + 60*y(1)*y(2)**3*y(3) + 30*y(1)*y(2)**3*y(4) + 270*y(1)*y(2)**2*y(3)**2 + 315*y(1)*y(2)**2*y(3)*y(4) + 975*y(1)*y(2)**2*y(4)**2 + 360*y(1)*y(2)*y(3)**3 &
2212 + 645*y(1)*y(2)*y(3)**2*y(4) + 2850*y(1)*y(2)*y(3)*y(4)**2 + 1460*y(1)*y(2)*y(4)**3 + 150*y(1)*y(3)**4 + 360*y(1)*y(3)**3*y(4) + 2000*y(1)*y(3)**2*y(4)**2 + 2005*y(1)*y(3)*y(4)**3 + 2077*y(1)*y(4)**4 + 30*y(2)**4*y(3) + 15*y(2)**4*y(4) + 180*y(2)**3*y(3)**2 &
2213 + 210*y(2)**3*y(3)*y(4) + 650*y(2)**3*y(4)**2 + 360*y(2)**2*y(3)**3 + 645*y(2)**2*y(3)**2*y(4) + 2850*y(2)**2*y(3)*y(4)**2 + 1460*y(2)**2*y(4)**3 + 300*y(2)*y(3)**4 + 720*y(2)*y(3)**3*y(4) + 4000*y(2)*y(3)**2*y(4)**2 + 4010*y(2)*y(3)*y(4)**3 + 4154*y(2)*y(4)**4 &
2214 + 90*y(3)**5 + 270*y(3)**4*y(4) + 1800*y(3)**3*y(4)**2 + 2655*y(3)**2*y(4)**3 + 4464*y(3)*y(4)**4 + 1767*y(4)**5))/(5*(y(2) + y(3))*(y(3) + y(4))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4))**2)
2215 beta_coef_z(i + 1, 3, 2) = (4*y(4)**2*(10*y(2)**3*y(3) + 5*y(2)**3*y(4) + 50*y(2)**2*y(3)**2 + 60*y(2)**2*y(3)*y(4) + 10*y(1)*y(2)**2*y(3) + 215*y(2)**2*y(4)**2 + 5*y(1)*y(2)**2*y(4) + 70*y(2)*y(3)**3 + 130*y(2)*y(3)**2*y(4) + 30*y(1)*y(2)*y(3)**2 + 775*y(2)*y(3)*y(4)**2 &
2216 + 35*y(1)*y(2)*y(3)*y(4) + 415*y(2)*y(4)**3 + 110*y(1)*y(2)*y(4)**2 + 30*y(3)**4 + 75*y(3)**3*y(4) + 20*y(1)*y(3)**3 + 665*y(3)**2*y(4)**2 + 35*y(1)*y(3)**2*y(4) + 725*y(3)*y(4)**3 + 220*y(1)*y(3)*y(4)**2 + 1767*y(4)**4 + 105*y(1)*y(4)**3)) &
2217 /(5*(y(1) + y(2))*(y(3) + y(4))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4))**2)
2218 beta_coef_z(i + 1, 3, 3) = (4*y(4)**2*(5*y(1)**4*y(3)**2 + 5*y(1)**4*y(3)*y(4) + 50*y(1)**4*y(4)**2 + 30*y(1)**3*y(2)*y(3)**2 + 30*y(1)**3*y(2)*y(3)*y(4) + 300*y(1)**3*y(2)*y(4)**2 + 30*y(1)**3*y(3)**3 + 45*y(1)**3*y(3)**2*y(4) + 415*y(1)**3*y(3)*y(4)**2 + 200*y(1)**3*y(4)**3 &
2219 + 75*y(1)**2*y(2)**2*y(3)**2 + 75*y(1)**2*y(2)**2*y(3)*y(4) + 750*y(1)**2*y(2)**2*y(4)**2 + 150*y(1)**2*y(2)*y(3)**3 + 225*y(1)**2*y(2)*y(3)**2*y(4) + 2075*y(1)**2*y(2)*y(3)*y(4)**2 + 1000*y(1)**2*y(2)*y(4)**3 + 75*y(1)**2*y(3)**4 + 150*y(1)**2*y(3)**3*y(4) &
2220 + 1390*y(1)**2*y(3)**2*y(4)**2 + 1315*y(1)**2*y(3)*y(4)**3 + 1081*y(1)**2*y(4)**4 + 90*y(1)*y(2)**3*y(3)**2 + 90*y(1)*y(2)**3*y(3)*y(4) + 900*y(1)*y(2)**3*y(4)**2 + 270*y(1)*y(2)**2*y(3)**3 + 405*y(1)*y(2)**2*y(3)**2*y(4) + 3735*y(1)*y(2)**2*y(3)*y(4)**2 &
2221 + 1800*y(1)*y(2)**2*y(4)**3 + 270*y(1)*y(2)*y(3)**4 + 540*y(1)*y(2)*y(3)**3*y(4) + 5025*y(1)*y(2)*y(3)**2*y(4)**2 + 4755*y(1)*y(2)*y(3)*y(4)**3 + 4224*y(1)*y(2)*y(4)**4 + 90*y(1)*y(3)**5 + 225*y(1)*y(3)**4*y(4) + 2190*y(1)*y(3)**3*y(4)**2 + 3060*y(1)*y(3)**2*y(4)**3 &
2222 + 4529*y(1)*y(3)*y(4)**4 + 1762*y(1)*y(4)**5 + 45*y(2)**4*y(3)**2 + 45*y(2)**4*y(3)*y(4) + 450*y(2)**4*y(4)**2 + 180*y(2)**3*y(3)**3 + 270*y(2)**3*y(3)**2*y(4) + 2490*y(2)**3*y(3)*y(4)**2 + 1200*y(2)**3*y(4)**3 + 270*y(2)**2*y(3)**4 + 540*y(2)**2*y(3)**3*y(4) &
2223 + 5025*y(2)**2*y(3)**2*y(4)**2 + 4755*y(2)**2*y(3)*y(4)**3 + 4224*y(2)**2*y(4)**4 + 180*y(2)*y(3)**5 + 450*y(2)*y(3)**4*y(4) + 4380*y(2)*y(3)**3*y(4)**2 + 6120*y(2)*y(3)**2*y(4)**3 + 9058*y(2)*y(3)*y(4)**4 + 3524*y(2)*y(4)**5 + 45*y(3)**6 + 135*y(3)**5*y(4) &
2224 + 1395*y(3)**4*y(4)**2 + 2565*y(3)**3*y(4)**3 + 4884*y(3)**2*y(4)**4 + 3624*y(3)*y(4)**5 + 831*y(4)**6))/(5*(y(2) + y(3))**2*(y(1) + y(2) + y(3))**2*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4))**2)
2225 beta_coef_z(i + 1, 3, 4) = -(4*y(4)**2*(10*y(1)**2*y(2)*y(3)**2 + 10*y(1)**2*y(2)*y(3)*y(4) + 100*y(1)**2*y(2)*y(4)**2 + 10*y(1)**2*y(3)**3 + 15*y(1)**2*y(3)**2*y(4) + 205*y(1)**2*y(3)*y(4)**2 + 100*y(1)**2*y(4)**3 + 30*y(1)*y(2)**2*y(3)**2 + 30*y(1)*y(2)**2*y(3)*y(4) &
2226 + 300*y(1)*y(2)**2*y(4)**2 + 60*y(1)*y(2)*y(3)**3 + 90*y(1)*y(2)*y(3)**2*y(4) + 1030*y(1)*y(2)*y(3)*y(4)**2 + 500*y(1)*y(2)*y(4)**3 + 30*y(1)*y(3)**4 + 60*y(1)*y(3)**3*y(4) + 835*y(1)*y(3)**2*y(4)**2 + 805*y(1)*y(3)*y(4)**3 + 1762*y(1)*y(4)**4 + 30*y(2)**3*y(3)**2 &
2227 + 30*y(2)**3*y(3)*y(4) + 300*y(2)**3*y(4)**2 + 90*y(2)**2*y(3)**3 + 135*y(2)**2*y(3)**2*y(4) + 1445*y(2)**2*y(3)*y(4)**2 + 700*y(2)**2*y(4)**3 + 90*y(2)*y(3)**4 + 180*y(2)*y(3)**3*y(4) + 2205*y(2)*y(3)**2*y(4)**2 + 2115*y(2)*y(3)*y(4)**3 + 3624*y(2)*y(4)**4 &
2228 + 30*y(3)**5 + 75*y(3)**4*y(4) + 1060*y(3)**3*y(4)**2 + 1515*y(3)**2*y(4)**3 + 3824*y(3)*y(4)**4 + 1662*y(4)**5))/(5*(y(1) + y(2))*(y(2) + y(3))*(y(1) + y(2) + y(3))**2*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4))**2)
2229 beta_coef_z(i + 1, 3, 5) = (4*y(4)**2*(5*y(2)**2*y(3)**2 + 5*y(2)**2*y(3)*y(4) + 50*y(2)**2*y(4)**2 + 10*y(2)*y(3)**3 + 15*y(2)*y(3)**2*y(4) + 205*y(2)*y(3)*y(4)**2 + 100*y(2)*y(4)**3 + 5*y(3)**4 + 10*y(3)**3*y(4) + 205*y(3)**2*y(4)**2 + 200*y(3)*y(4)**3 + 831*y(4)**4))/(5*(y(1) &
2230 + y(2))**2*(y(1) + y(2) + y(3))**2*(y(1) + y(2) + y(3) + y(4))**2)
2232 y = s_cb(i - 1:i + 2) - s_cb(i - 2:i + 1)
2233 beta_coef_z(i + 1, 2, 0) = (4*y(3)**2*(5*y(1)**2*y(2)**2 + 5*y(1)**2*y(2)*y(3) + 50*y(1)**2*y(3)**2 + 10*y(1)*y(2)**3 + 15*y(1)*y(2)**2*y(3) + 205*y(1)*y(2)*y(3)**2 + 100*y(1)*y(3)**3 + 5*y(2)**4 + 10*y(2)**3*y(3) + 205*y(2)**2*y(3)**2 + 200*y(2)*y(3)**3 + 831*y(3)**4))/(5*(y(3) &
2234 + y(4))**2*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4))**2)
2235 beta_coef_z(i + 1, 2, 1) = (4*y(3)**2*(5*y(1)**3*y(2)*y(3) + 10*y(1)**3*y(2)*y(4) - 95*y(1)**3*y(3)**2 + 5*y(1)**3*y(3)*y(4) + 20*y(1)**2*y(2)**2*y(3) + 40*y(1)**2*y(2)**2*y(4) - 465*y(1)**2*y(2)*y(3)**2 + 55*y(1)**2*y(2)*y(3)*y(4) + 10*y(1)**2*y(2)*y(4)**2 - 285*y(1)**2*y(3)**3 &
2236 + 20*y(1)**2*y(3)**2*y(4) + 5*y(1)**2*y(3)*y(4)**2 + 30*y(1)*y(2)**3*y(3) + 60*y(1)*y(2)**3*y(4) - 825*y(1)*y(2)**2*y(3)**2 + 135*y(1)*y(2)**2*y(3)*y(4) + 30*y(1)*y(2)**2*y(4)**2 - 1040*y(1)*y(2)*y(3)**3 + 100*y(1)*y(2)*y(3)**2*y(4) + 35*y(1)*y(2)*y(3)*y(4)**2 &
2237 - 1847*y(1)*y(3)**4 + 125*y(1)*y(3)**3*y(4) + 110*y(1)*y(3)**2*y(4)**2 + 15*y(2)**4*y(3) + 30*y(2)**4*y(4) - 550*y(2)**3*y(3)**2 + 90*y(2)**3*y(3)*y(4) + 20*y(2)**3*y(4)**2 - 1040*y(2)**2*y(3)**3 + 100*y(2)**2*y(3)**2*y(4) + 35*y(2)**2*y(3)*y(4)**2 &
2238 - 3694*y(2)*y(3)**4 + 250*y(2)*y(3)**3*y(4) + 220*y(2)*y(3)**2*y(4)**2 - 3219*y(3)**5 - 1452*y(3)**4*y(4) + 105*y(3)**3*y(4)**2))/(5*(y(2) + y(3))*(y(3) + y(4))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4))**2)
2239 beta_coef_z(i + 1, 2, 2) = -(4*y(3)**2*(5*y(2)**3*y(3) - 95*y(2)*y(3)**3 - 190*y(2)**2*y(3)**2 + 10*y(2)**3*y(4) + 100*y(3)**3*y(4) - 1562*y(3)**4 - 95*y(1)*y(2)*y(3)**2 + 5*y(1)*y(2)**2*y(3) + 10*y(1)*y(2)**2*y(4) + 100*y(1)*y(3)**2*y(4) + 205*y(2)*y(3)**2*y(4) &
2240 + 15*y(2)**2*y(3)*y(4) + 10*y(1)*y(2)*y(3)*y(4)))/(5*(y(1) + y(2))*(y(3) + y(4))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4))**2)
2241 beta_coef_z(i + 1, 2, 3) = (4*y(3)**2*(50*y(1)**4*y(3)**2 + 5*y(1)**4*y(3)*y(4) + 5*y(1)**4*y(4)**2 + 300*y(1)**3*y(2)*y(3)**2 + 30*y(1)**3*y(2)*y(3)*y(4) + 30*y(1)**3*y(2)*y(4)**2 + 200*y(1)**3*y(3)**3 + 25*y(1)**3*y(3)**2*y(4) + 35*y(1)**3*y(3)*y(4)**2 + 10*y(1)**3*y(4)**3 &
2242 + 750*y(1)**2*y(2)**2*y(3)**2 + 75*y(1)**2*y(2)**2*y(3)*y(4) + 75*y(1)**2*y(2)**2*y(4)**2 + 1000*y(1)**2*y(2)*y(3)**3 + 125*y(1)**2*y(2)*y(3)**2*y(4) + 175*y(1)**2*y(2)*y(3)*y(4)**2 + 50*y(1)**2*y(2)*y(4)**3 + 1081*y(1)**2*y(3)**4 - 50*y(1)**2*y(3)**3*y(4) &
2243 - 10*y(1)**2*y(3)**2*y(4)**2 + 45*y(1)**2*y(3)*y(4)**3 + 5*y(1)**2*y(4)**4 + 900*y(1)*y(2)**3*y(3)**2 + 90*y(1)*y(2)**3*y(3)*y(4) + 90*y(1)*y(2)**3*y(4)**2 + 1800*y(1)*y(2)**2*y(3)**3 + 225*y(1)*y(2)**2*y(3)**2*y(4) + 315*y(1)*y(2)**2*y(3)*y(4)**2 &
2244 + 90*y(1)*y(2)**2*y(4)**3 + 4224*y(1)*y(2)*y(3)**4 - 120*y(1)*y(2)*y(3)**3*y(4) + 25*y(1)*y(2)*y(3)**2*y(4)**2 + 165*y(1)*y(2)*y(3)*y(4)**3 + 20*y(1)*y(2)*y(4)**4 + 3324*y(1)*y(3)**5 + 1407*y(1)*y(3)**4*y(4) - 100*y(1)*y(3)**3*y(4)**2 + 70*y(1)*y(3)**2*y(4)**3 &
2245 + 15*y(1)*y(3)*y(4)**4 + 450*y(2)**4*y(3)**2 + 45*y(2)**4*y(3)*y(4) + 45*y(2)**4*y(4)**2 + 1200*y(2)**3*y(3)**3 + 150*y(2)**3*y(3)**2*y(4) + 210*y(2)**3*y(3)*y(4)**2 + 60*y(2)**3*y(4)**3 + 4224*y(2)**2*y(3)**4 - 120*y(2)**2*y(3)**3*y(4) + 25*y(2)**2*y(3)**2*y(4)**2 &
2246 + 165*y(2)**2*y(3)*y(4)**3 + 20*y(2)**2*y(4)**4 + 6648*y(2)*y(3)**5 + 2814*y(2)*y(3)**4*y(4) - 200*y(2)*y(3)**3*y(4)**2 + 140*y(2)*y(3)**2*y(4)**3 + 30*y(2)*y(3)*y(4)**4 + 3174*y(3)**6 + 3039*y(3)**5*y(4) + 771*y(3)**4*y(4)**2 + 135*y(3)**3*y(4)**3 + 60*y(3)**2*y(4)**4)) &
2247 /(5*(y(2) + y(3))**2*(y(1) + y(2) + y(3))**2*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4))**2)
2248 beta_coef_z(i + 1, 2, 4) = -(4*y(3)**2*(100*y(1)**2*y(2)*y(3)**2 + 10*y(1)**2*y(2)*y(3)*y(4) + 10*y(1)**2*y(2)*y(4)**2 - 95*y(1)**2*y(3)**2*y(4) + 5*y(1)**2*y(3)*y(4)**2 + 300*y(1)*y(2)**2*y(3)**2 + 30*y(1)*y(2)**2*y(3)*y(4) + 30*y(1)*y(2)**2*y(4)**2 + 200*y(1)*y(2)*y(3)**3 &
2249 - 260*y(1)*y(2)*y(3)**2*y(4) + 50*y(1)*y(2)*y(3)*y(4)**2 + 10*y(1)*y(2)*y(4)**3 + 1562*y(1)*y(3)**4 - 190*y(1)*y(3)**3*y(4) + 15*y(1)*y(3)**2*y(4)**2 + 5*y(1)*y(3)*y(4)**3 + 300*y(2)**3*y(3)**2 + 30*y(2)**3*y(3)*y(4) + 30*y(2)**3*y(4)**2 + 400*y(2)**2*y(3)**3 &
2250 - 235*y(2)**2*y(3)**2*y(4) + 85*y(2)**2*y(3)*y(4)**2 + 20*y(2)**2*y(4)**3 + 3224*y(2)*y(3)**4 - 460*y(2)*y(3)**3*y(4) - 35*y(2)*y(3)**2*y(4)**2 + 25*y(2)*y(3)*y(4)**3 + 3124*y(3)**5 + 1467*y(3)**4*y(4) + 110*y(3)**3*y(4)**2 + 105*y(3)**2*y(4)**3)) &
2251 /(5*(y(1) + y(2))*(y(2) + y(3))*(y(1) + y(2) + y(3))**2*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4))**2)
2252 beta_coef_z(i + 1, 2, 5) = (4*y(3)**2*(50*y(2)**2*y(3)**2 + 5*y(2)**2*y(3)*y(4) + 5*y(2)**2*y(4)**2 - 95*y(2)*y(3)**2*y(4) + 5*y(2)*y(3)*y(4)**2 + 781*y(3)**4 + 50*y(3)**2*y(4)**2))/(5*(y(1) + y(2))**2*(y(1) + y(2) + y(3))**2*(y(1) + y(2) + y(3) + y(4))**2)
2254 y = s_cb(i:i + 3) - s_cb(i - 1:i + 2)
2255 beta_coef_z(i + 1, 1, 0) = (4*y(2)**2*(50*y(1)**2*y(2)**2 + 5*y(1)**2*y(2)*y(3) + 5*y(1)**2*y(3)**2 - 95*y(1)*y(2)**2*y(3) + 5*y(1)*y(2)*y(3)**2 + 781*y(2)**4 + 50*y(2)**2*y(3)**2))/(5*(y(3) + y(4))**2*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4))**2)
2256 beta_coef_z(i + 1, 1, 1) = -(4*y(2)**2*(105*y(1)**3*y(2)**2 + 25*y(1)**3*y(2)*y(3) + 5*y(1)**3*y(2)*y(4) + 20*y(1)**3*y(3)**2 + 10*y(1)**3*y(3)*y(4) + 110*y(1)**2*y(2)**3 - 35*y(1)**2*y(2)**2*y(3) + 15*y(1)**2*y(2)**2*y(4) + 85*y(1)**2*y(2)*y(3)**2 + 50*y(1)**2*y(2)*y(3)*y(4) &
2257 + 5*y(1)**2*y(2)*y(4)**2 + 30*y(1)**2*y(3)**3 + 30*y(1)**2*y(3)**2*y(4) + 10*y(1)**2*y(3)*y(4)**2 + 1467*y(1)*y(2)**4 - 460*y(1)*y(2)**3*y(3) - 190*y(1)*y(2)**3*y(4) - 235*y(1)*y(2)**2*y(3)**2 - 260*y(1)*y(2)**2*y(3)*y(4) - 95*y(1)*y(2)**2*y(4)**2 &
2258 + 30*y(1)*y(2)*y(3)**3 + 30*y(1)*y(2)*y(3)**2*y(4) + 10*y(1)*y(2)*y(3)*y(4)**2 + 3124*y(2)**5 + 3224*y(2)**4*y(3) + 1562*y(2)**4*y(4) + 400*y(2)**3*y(3)**2 + 200*y(2)**3*y(3)*y(4) + 300*y(2)**2*y(3)**3 + 300*y(2)**2*y(3)**2*y(4) + 100*y(2)**2*y(3)*y(4)**2)) &
2259 /(5*(y(2) + y(3))*(y(3) + y(4))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4))**2)
2260 beta_coef_z(i + 1, 1, 2) = -(4*y(2)**2*(100*y(1)*y(2)**3 - 190*y(2)**2*y(3)**2 + 10*y(1)*y(3)**3 + 5*y(2)*y(3)**3 - 95*y(2)**3*y(3) - 1562*y(2)**4 + 15*y(1)*y(2)*y(3)**2 + 205*y(1)*y(2)**2*y(3) + 100*y(1)*y(2)**2*y(4) + 10*y(1)*y(3)**2*y(4) + 5*y(2)*y(3)**2*y(4) - 95*y(2)**2*y(3)*y(4) &
2261 + 10*y(1)*y(2)*y(3)*y(4)))/(5*(y(1) + y(2))*(y(3) + y(4))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4))**2)
2262 beta_coef_z(i + 1, 1, 3) = (4*y(2)**2*(60*y(1)**4*y(2)**2 + 30*y(1)**4*y(2)*y(3) + 15*y(1)**4*y(2)*y(4) + 20*y(1)**4*y(3)**2 + 20*y(1)**4*y(3)*y(4) + 5*y(1)**4*y(4)**2 + 135*y(1)**3*y(2)**3 + 140*y(1)**3*y(2)**2*y(3) + 70*y(1)**3*y(2)**2*y(4) + 165*y(1)**3*y(2)*y(3)**2 &
2263 + 165*y(1)**3*y(2)*y(3)*y(4) + 45*y(1)**3*y(2)*y(4)**2 + 60*y(1)**3*y(3)**3 + 90*y(1)**3*y(3)**2*y(4) + 50*y(1)**3*y(3)*y(4)**2 + 10*y(1)**3*y(4)**3 + 771*y(1)**2*y(2)**4 - 200*y(1)**2*y(2)**3*y(3) - 100*y(1)**2*y(2)**3*y(4) + 25*y(1)**2*y(2)**2*y(3)**2 &
2264 + 25*y(1)**2*y(2)**2*y(3)*y(4) - 10*y(1)**2*y(2)**2*y(4)**2 + 210*y(1)**2*y(2)*y(3)**3 + 315*y(1)**2*y(2)*y(3)**2*y(4) + 175*y(1)**2*y(2)*y(3)*y(4)**2 + 35*y(1)**2*y(2)*y(4)**3 + 45*y(1)**2*y(3)**4 + 90*y(1)**2*y(3)**3*y(4) + 75*y(1)**2*y(3)**2*y(4)**2 &
2265 + 30*y(1)**2*y(3)*y(4)**3 + 5*y(1)**2*y(4)**4 + 3039*y(1)*y(2)**5 + 2814*y(1)*y(2)**4*y(3) + 1407*y(1)*y(2)**4*y(4) - 120*y(1)*y(2)**3*y(3)**2 - 120*y(1)*y(2)**3*y(3)*y(4) - 50*y(1)*y(2)**3*y(4)**2 + 150*y(1)*y(2)**2*y(3)**3 + 225*y(1)*y(2)**2*y(3)**2*y(4) &
2266 + 125*y(1)*y(2)**2*y(3)*y(4)**2 + 25*y(1)*y(2)**2*y(4)**3 + 45*y(1)*y(2)*y(3)**4 + 90*y(1)*y(2)*y(3)**3*y(4) + 75*y(1)*y(2)*y(3)**2*y(4)**2 + 30*y(1)*y(2)*y(3)*y(4)**3 + 5*y(1)*y(2)*y(4)**4 + 3174*y(2)**6 + 6648*y(2)**5*y(3) + 3324*y(2)**5*y(4) &
2267 + 4224*y(2)**4*y(3)**2 + 4224*y(2)**4*y(3)*y(4) + 1081*y(2)**4*y(4)**2 + 1200*y(2)**3*y(3)**3 + 1800*y(2)**3*y(3)**2*y(4) + 1000*y(2)**3*y(3)*y(4)**2 + 200*y(2)**3*y(4)**3 + 450*y(2)**2*y(3)**4 + 900*y(2)**2*y(3)**3*y(4) + 750*y(2)**2*y(3)**2*y(4)**2 &
2268 + 300*y(2)**2*y(3)*y(4)**3 + 50*y(2)**2*y(4)**4))/(5*(y(2) + y(3))**2*(y(1) + y(2) + y(3))**2*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4))**2)
2269 beta_coef_z(i + 1, 1, 4) = (4*y(2)**2*(105*y(1)**2*y(2)**3 + 220*y(1)**2*y(2)**2*y(3) + 110*y(1)**2*y(2)**2*y(4) + 35*y(1)**2*y(2)*y(3)**2 + 35*y(1)**2*y(2)*y(3)*y(4) + 5*y(1)**2*y(2)*y(4)**2 + 20*y(1)**2*y(3)**3 + 30*y(1)**2*y(3)**2*y(4) + 10*y(1)**2*y(3)*y(4)**2 - 1452*y(1)*y(2)**4 &
2270 + 250*y(1)*y(2)**3*y(3) + 125*y(1)*y(2)**3*y(4) + 100*y(1)*y(2)**2*y(3)**2 + 100*y(1)*y(2)**2*y(3)*y(4) + 20*y(1)*y(2)**2*y(4)**2 + 90*y(1)*y(2)*y(3)**3 + 135*y(1)*y(2)*y(3)**2*y(4) + 55*y(1)*y(2)*y(3)*y(4)**2 + 5*y(1)*y(2)*y(4)**3 + 30*y(1)*y(3)**4 &
2271 + 60*y(1)*y(3)**3*y(4) + 40*y(1)*y(3)**2*y(4)**2 + 10*y(1)*y(3)*y(4)**3 - 3219*y(2)**5 - 3694*y(2)**4*y(3) - 1847*y(2)**4*y(4) - 1040*y(2)**3*y(3)**2 - 1040*y(2)**3*y(3)*y(4) - 285*y(2)**3*y(4)**2 - 550*y(2)**2*y(3)**3 - 825*y(2)**2*y(3)**2*y(4) &
2272 - 465*y(2)**2*y(3)*y(4)**2 - 95*y(2)**2*y(4)**3 + 15*y(2)*y(3)**4 + 30*y(2)*y(3)**3*y(4) + 20*y(2)*y(3)**2*y(4)**2 + 5*y(2)*y(3)*y(4)**3))/(5*(y(1) + y(2))*(y(2) + y(3))*(y(1) + y(2) + y(3))**2*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4))**2)
2273 beta_coef_z(i + 1, 1, 5) = (4*y(2)**2*(831*y(2)**4 + 200*y(2)**3*y(3) + 100*y(2)**3*y(4) + 205*y(2)**2*y(3)**2 + 205*y(2)**2*y(3)*y(4) + 50*y(2)**2*y(4)**2 + 10*y(2)*y(3)**3 + 15*y(2)*y(3)**2*y(4) + 5*y(2)*y(3)*y(4)**2 + 5*y(3)**4 + 10*y(3)**3*y(4) + 5*y(3)**2*y(4)**2))/(5*(y(1) &
2274 + y(2))**2*(y(1) + y(2) + y(3))**2*(y(1) + y(2) + y(3) + y(4))**2)
2276 y = s_cb(i + 1:i + 4) - s_cb(i:i + 3)
2277 beta_coef_z(i + 1, 0, 0) = (4*y(1)**2*(831*y(1)**4 + 200*y(1)**3*y(2) + 100*y(1)**3*y(3) + 205*y(1)**2*y(2)**2 + 205*y(1)**2*y(2)*y(3) + 50*y(1)**2*y(3)**2 + 10*y(1)*y(2)**3 + 15*y(1)*y(2)**2*y(3) + 5*y(1)*y(2)*y(3)**2 + 5*y(2)**4 + 10*y(2)**3*y(3) + 5*y(2)**2*y(3)**2))/(5*(y(3) &
2278 + y(4))**2*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4))**2)
2279 beta_coef_z(i + 1, 0, 1) = -(4*y(1)**2*(1662*y(1)**5 + 3824*y(1)**4*y(2) + 3624*y(1)**4*y(3) + 1762*y(1)**4*y(4) + 1515*y(1)**3*y(2)**2 + 2115*y(1)**3*y(2)*y(3) + 805*y(1)**3*y(2)*y(4) + 700*y(1)**3*y(3)**2 + 500*y(1)**3*y(3)*y(4) + 100*y(1)**3*y(4)**2 + 1060*y(1)**2*y(2)**3 &
2280 + 2205*y(1)**2*y(2)**2*y(3) + 835*y(1)**2*y(2)**2*y(4) + 1445*y(1)**2*y(2)*y(3)**2 + 1030*y(1)**2*y(2)*y(3)*y(4) + 205*y(1)**2*y(2)*y(4)**2 + 300*y(1)**2*y(3)**3 + 300*y(1)**2*y(3)**2*y(4) + 100*y(1)**2*y(3)*y(4)**2 + 75*y(1)*y(2)**4 + 180*y(1)*y(2)**3*y(3) &
2281 + 60*y(1)*y(2)**3*y(4) + 135*y(1)*y(2)**2*y(3)**2 + 90*y(1)*y(2)**2*y(3)*y(4) + 15*y(1)*y(2)**2*y(4)**2 + 30*y(1)*y(2)*y(3)**3 + 30*y(1)*y(2)*y(3)**2*y(4) + 10*y(1)*y(2)*y(3)*y(4)**2 + 30*y(2)**5 + 90*y(2)**4*y(3) + 30*y(2)**4*y(4) + 90*y(2)**3*y(3)**2 &
2282 + 60*y(2)**3*y(3)*y(4) + 10*y(2)**3*y(4)**2 + 30*y(2)**2*y(3)**3 + 30*y(2)**2*y(3)**2*y(4) + 10*y(2)**2*y(3)*y(4)**2))/(5*(y(2) + y(3))*(y(3) + y(4))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4))**2)
2283 beta_coef_z(i + 1, 0, 2) = (4*y(1)**2*(1767*y(1)**4 + 725*y(1)**3*y(2) + 415*y(1)**3*y(3) + 105*y(4)*y(1)**3 + 665*y(1)**2*y(2)**2 + 775*y(1)**2*y(2)*y(3) + 220*y(4)*y(1)**2*y(2) + 215*y(1)**2*y(3)**2 + 110*y(4)*y(1)**2*y(3) + 75*y(1)*y(2)**3 + 130*y(1)*y(2)**2*y(3) + 35*y(4)*y(1)*y(2)**2 &
2284 + 60*y(1)*y(2)*y(3)**2 + 35*y(4)*y(1)*y(2)*y(3) + 5*y(1)*y(3)**3 + 5*y(4)*y(1)*y(3)**2 + 30*y(2)**4 + 70*y(2)**3*y(3) + 20*y(4)*y(2)**3 + 50*y(2)**2*y(3)**2 + 30*y(4)*y(2)**2*y(3) + 10*y(2)*y(3)**3 + 10*y(4)*y(2)*y(3)**2)) &
2285 /(5*(y(1) + y(2))*(y(3) + y(4))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4))**2)
2286 beta_coef_z(i + 1, 0, 3) = (4*y(1)**2*(831*y(1)**6 + 3624*y(1)**5*y(2) + 3524*y(1)**5*y(3) + 1762*y(1)**5*y(4) + 4884*y(1)**4*y(2)**2 + 9058*y(1)**4*y(2)*y(3) + 4529*y(1)**4*y(2)*y(4) + 4224*y(1)**4*y(3)**2 + 4224*y(1)**4*y(3)*y(4) + 1081*y(1)**4*y(4)**2 + 2565*y(1)**3*y(2)**3 &
2287 + 6120*y(1)**3*y(2)**2*y(3) + 3060*y(1)**3*y(2)**2*y(4) + 4755*y(1)**3*y(2)*y(3)**2 + 4755*y(1)**3*y(2)*y(3)*y(4) + 1315*y(1)**3*y(2)*y(4)**2 + 1200*y(1)**3*y(3)**3 + 1800*y(1)**3*y(3)**2*y(4) + 1000*y(1)**3*y(3)*y(4)**2 + 200*y(1)**3*y(4)**3 + 1395*y(1)**2*y(2)**4 &
2288 + 4380*y(1)**2*y(2)**3*y(3) + 2190*y(1)**2*y(2)**3*y(4) + 5025*y(1)**2*y(2)**2*y(3)**2 + 5025*y(1)**2*y(2)**2*y(3)*y(4) + 1390*y(1)**2*y(2)**2*y(4)**2 + 2490*y(1)**2*y(2)*y(3)**3 + 3735*y(1)**2*y(2)*y(3)**2*y(4) + 2075*y(1)**2*y(2)*y(3)*y(4)**2 &
2289 + 415*y(1)**2*y(2)*y(4)**3 + 450*y(1)**2*y(3)**4 + 900*y(1)**2*y(3)**3*y(4) + 750*y(1)**2*y(3)**2*y(4)**2 + 300*y(1)**2*y(3)*y(4)**3 + 50*y(1)**2*y(4)**4 + 135*y(1)*y(2)**5 + 450*y(1)*y(2)**4*y(3) + 225*y(1)*y(2)**4*y(4) + 540*y(1)*y(2)**3*y(3)**2 &
2290 + 540*y(1)*y(2)**3*y(3)*y(4) + 150*y(1)*y(2)**3*y(4)**2 + 270*y(1)*y(2)**2*y(3)**3 + 405*y(1)*y(2)**2*y(3)**2*y(4) + 225*y(1)*y(2)**2*y(3)*y(4)**2 + 45*y(1)*y(2)**2*y(4)**3 + 45*y(1)*y(2)*y(3)**4 + 90*y(1)*y(2)*y(3)**3*y(4) + 75*y(1)*y(2)*y(3)**2*y(4)**2 &
2291 + 30*y(1)*y(2)*y(3)*y(4)**3 + 5*y(1)*y(2)*y(4)**4 + 45*y(2)**6 + 180*y(2)**5*y(3) + 90*y(2)**5*y(4) + 270*y(2)**4*y(3)**2 + 270*y(2)**4*y(3)*y(4) + 75*y(2)**4*y(4)**2 + 180*y(2)**3*y(3)**3 + 270*y(2)**3*y(3)**2*y(4) + 150*y(2)**3*y(3)*y(4)**2 + 30*y(2)**3*y(4)**3 &
2292 + 45*y(2)**2*y(3)**4 + 90*y(2)**2*y(3)**3*y(4) + 75*y(2)**2*y(3)**2*y(4)**2 + 30*y(2)**2*y(3)*y(4)**3 + 5*y(2)**2*y(4)**4))/(5*(y(2) + y(3))**2*(y(1) + y(2) + y(3))**2*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4))**2)
2293 beta_coef_z(i + 1, 0, 4) = -(4*y(1)**2*(1767*y(1)**5 + 4464*y(1)**4*y(2) + 4154*y(1)**4*y(3) + 2077*y(1)**4*y(4) + 2655*y(1)**3*y(2)**2 + 4010*y(1)**3*y(2)*y(3) + 2005*y(1)**3*y(2)*y(4) + 1460*y(1)**3*y(3)**2 + 1460*y(1)**3*y(3)*y(4) + 415*y(1)**3*y(4)**2 + 1800*y(1)**2*y(2)**3 &
2294 + 4000*y(1)**2*y(2)**2*y(3) + 2000*y(1)**2*y(2)**2*y(4) + 2850*y(1)**2*y(2)*y(3)**2 + 2850*y(1)**2*y(2)*y(3)*y(4) + 790*y(1)**2*y(2)*y(4)**2 + 650*y(1)**2*y(3)**3 + 975*y(1)**2*y(3)**2*y(4) + 535*y(1)**2*y(3)*y(4)**2 + 105*y(1)**2*y(4)**3 + 270*y(1)*y(2)**4 &
2295 + 720*y(1)*y(2)**3*y(3) + 360*y(1)*y(2)**3*y(4) + 645*y(1)*y(2)**2*y(3)**2 + 645*y(1)*y(2)**2*y(3)*y(4) + 165*y(1)*y(2)**2*y(4)**2 + 210*y(1)*y(2)*y(3)**3 + 315*y(1)*y(2)*y(3)**2*y(4) + 155*y(1)*y(2)*y(3)*y(4)**2 + 25*y(1)*y(2)*y(4)**3 + 15*y(1)*y(3)**4 &
2296 + 30*y(1)*y(3)**3*y(4) + 20*y(1)*y(3)**2*y(4)**2 + 5*y(1)*y(3)*y(4)**3 + 90*y(2)**5 + 300*y(2)**4*y(3) + 150*y(2)**4*y(4) + 360*y(2)**3*y(3)**2 + 360*y(2)**3*y(3)*y(4) + 90*y(2)**3*y(4)**2 + 180*y(2)**2*y(3)**3 + 270*y(2)**2*y(3)**2*y(4) + 130*y(2)**2*y(3)*y(4)**2 &
2297 + 20*y(2)**2*y(4)**3 + 30*y(2)*y(3)**4 + 60*y(2)*y(3)**3*y(4) + 40*y(2)*y(3)**2*y(4)**2 + 10*y(2)*y(3)*y(4)**3))/(5*(y(1) + y(2))*(y(2) + y(3))*(y(1) + y(2) + y(3))**2*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4))**2)
2298 beta_coef_z(i + 1, 0, 5) = (4*y(1)**2*(996*y(1)**4 + 675*y(1)**3*y(2) + 450*y(1)**3*y(3) + 225*y(1)**3*y(4) + 600*y(1)**2*y(2)**2 + 800*y(1)**2*y(2)*y(3) + 400*y(1)**2*y(2)*y(4) + 260*y(1)**2*y(3)**2 + 260*y(1)**2*y(3)*y(4) + 60*y(1)**2*y(4)**2 + 135*y(1)*y(2)**3 + 270*y(1)*y(2)**2*y(3) &
2299 + 135*y(1)*y(2)**2*y(4) + 165*y(1)*y(2)*y(3)**2 + 165*y(1)*y(2)*y(3)*y(4) + 30*y(1)*y(2)*y(4)**2 + 30*y(1)*y(3)**3 + 45*y(1)*y(3)**2*y(4) + 15*y(1)*y(3)*y(4)**2 + 45*y(2)**4 + 120*y(2)**3*y(3) + 60*y(2)**3*y(4) + 110*y(2)**2*y(3)**2 + 110*y(2)**2*y(3)*y(4) &
2300 + 20*y(2)**2*y(4)**2 + 40*y(2)*y(3)**3 + 60*y(2)*y(3)**2*y(4) + 20*y(2)*y(3)*y(4)**2 + 5*y(3)**4 + 10*y(3)**3*y(4) + 5*y(3)**2*y(4)**2))/(5*(y(1) + y(2))**2*(y(1) + y(2) + y(3))**2*(y(1) + y(2) + y(3) + y(4))**2)
2322# 613 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2324 if (weno_dir == 1)
then
2326# 615 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2327#if defined(MFC_OpenACC)
2328# 615 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2330# 615 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2331#elif defined(MFC_OpenMP)
2332# 615 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2334# 615 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2336 elseif (weno_dir == 2)
then
2338# 617 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2339#if defined(MFC_OpenACC)
2340# 617 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2342# 617 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2343#elif defined(MFC_OpenMP)
2344# 617 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2346# 617 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2350# 619 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2351#if defined(MFC_OpenACC)
2352# 619 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2354# 619 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2355#elif defined(MFC_OpenMP)
2356# 619 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2358# 619 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2369 subroutine s_weno(v_vf, vL_rs_vf_x, vL_rs_vf_y, vL_rs_vf_z, vR_rs_vf_x, vR_rs_vf_y, vR_rs_vf_z, &
2371 is1_weno_d, is2_weno_d, is3_weno_d)
2373 type(scalar_field),
dimension(1:),
intent(in) :: v_vf
2374 real(wp),
dimension(idwbuff(1)%beg:, idwbuff(2)%beg:, idwbuff(3)%beg:, 1:),
intent(inout) :: vl_rs_vf_x, vl_rs_vf_y, vl_rs_vf_z
2375 real(wp),
dimension(idwbuff(1)%beg:, idwbuff(2)%beg:, idwbuff(3)%beg:, 1:),
intent(inout) :: vr_rs_vf_x, vr_rs_vf_y, vr_rs_vf_z
2376 integer,
intent(in) :: weno_dir
2377 type(int_bounds_info),
intent(in) :: is1_weno_d, is2_weno_d, is3_weno_d
2379# 647 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2380 real(wp),
dimension(-weno_polyn:weno_polyn - 1) :: dvd
2381 real(wp),
dimension(0:weno_num_stencils) :: poly
2382 real(wp),
dimension(0:weno_num_stencils) :: alpha
2383 real(wp),
dimension(0:weno_num_stencils) :: omega
2384 real(wp),
dimension(0:weno_num_stencils) :: beta
2385 real(wp),
dimension(0:weno_num_stencils) :: delta
2386# 654 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2387 real(wp),
dimension(-3:3) :: v
2390 integer :: i,
j,
k,
l, q
2397# 663 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2398#if defined(MFC_OpenACC)
2399# 663 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2401# 663 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2402#elif defined(MFC_OpenMP)
2403# 663 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2405# 663 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2408 if (weno_order /= 1 .or. dummy)
then
2413 if (weno_order == 1 .or. dummy)
then
2414 if (weno_dir == 1)
then
2416# 672 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2418# 672 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2419#if defined(MFC_OpenACC)
2420# 672 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2422# 672 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2423#elif defined(MFC_OpenMP)
2424# 672 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2426# 672 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2428# 672 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2430# 672 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2432# 672 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2434# 672 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2436 do i = 1, ubound(v_vf, 1)
2440 vl_rs_vf_x(
j,
k,
l, i) = v_vf(i)%sf(
j,
k,
l)
2441 vr_rs_vf_x(
j,
k,
l, i) = v_vf(i)%sf(
j,
k,
l)
2447# 683 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2449# 683 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2450#if defined(MFC_OpenACC)
2451# 683 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2453# 683 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2454#elif defined(MFC_OpenMP)
2455# 683 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2457# 683 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2459# 683 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2461# 683 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2463# 683 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2465 else if (weno_dir == 2)
then
2467# 685 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2469# 685 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2470#if defined(MFC_OpenACC)
2471# 685 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2473# 685 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2474#elif defined(MFC_OpenMP)
2475# 685 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2477# 685 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2479# 685 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2481# 685 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2483# 685 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2485# 685 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2487 do i = 1, ubound(v_vf, 1)
2491 vl_rs_vf_y(
j,
k,
l, i) = v_vf(i)%sf(
k,
j,
l)
2492 vr_rs_vf_y(
j,
k,
l, i) = v_vf(i)%sf(
k,
j,
l)
2498# 696 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2500# 696 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2501#if defined(MFC_OpenACC)
2502# 696 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2504# 696 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2505#elif defined(MFC_OpenMP)
2506# 696 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2508# 696 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2510# 696 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2512# 696 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2514# 696 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2516 else if (weno_dir == 3)
then
2518# 698 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2520# 698 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2521#if defined(MFC_OpenACC)
2522# 698 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2524# 698 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2525#elif defined(MFC_OpenMP)
2526# 698 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2528# 698 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2530# 698 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2532# 698 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2534# 698 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2536# 698 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2538 do i = 1, ubound(v_vf, 1)
2542 vl_rs_vf_z(
j,
k,
l, i) = v_vf(i)%sf(
l,
k,
j)
2543 vr_rs_vf_z(
j,
k,
l, i) = v_vf(i)%sf(
l,
k,
j)
2549# 709 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2551# 709 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2552#if defined(MFC_OpenACC)
2553# 709 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2555# 709 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2556#elif defined(MFC_OpenMP)
2557# 709 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2559# 709 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2561# 709 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2563# 709 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2565# 709 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2569 if (weno_order == 3 .or. dummy)
then
2570# 714 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2571 if (weno_dir == 1)
then
2573# 715 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2575# 715 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2576#if defined(MFC_OpenACC)
2577# 715 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2579# 715 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2580#elif defined(MFC_OpenMP)
2581# 715 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2583# 715 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2585# 715 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2587# 715 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2589# 715 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2591# 715 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2619 alpha(0:weno_num_stencils) =
d_cbl_x(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
2621 elseif (mapped_weno)
then
2622 alpha(0:weno_num_stencils) =
d_cbl_x(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
2623 omega = alpha/sum(alpha)
2624 alpha(0:weno_num_stencils) = (
d_cbl_x(0:weno_num_stencils,
j)*(1._wp +
d_cbl_x(0:weno_num_stencils,
j) - 3._wp*omega(0:weno_num_stencils)) + omega(0:weno_num_stencils)**2._wp) &
2625 *(omega(0:weno_num_stencils)/(
d_cbl_x(0:weno_num_stencils,
j)**2._wp + omega(0:weno_num_stencils)*(1._wp - 2._wp*
d_cbl_x(0:weno_num_stencils,
j))))
2630 tau = abs(beta(1) - beta(0))
2631 alpha(0:weno_num_stencils) =
d_cbl_x(0:weno_num_stencils,
j)*(1._wp + tau/beta(0:weno_num_stencils))
2635 omega = alpha/sum(alpha)
2637 vl_rs_vf_x(
j,
k,
l, i) = omega(0)*poly(0) + omega(1)*poly(1)
2647 alpha(0:weno_num_stencils) =
d_cbr_x(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
2649 elseif (mapped_weno)
then
2650 alpha(0:weno_num_stencils) =
d_cbr_x(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
2651 omega = alpha/sum(alpha)
2652 alpha(0:weno_num_stencils) = (
d_cbr_x(0:weno_num_stencils,
j)*(1._wp +
d_cbr_x(0:weno_num_stencils,
j) - 3._wp*omega(0:weno_num_stencils)) + omega(0:weno_num_stencils)**2._wp) &
2653 *(omega(0:weno_num_stencils)/(
d_cbr_x(0:weno_num_stencils,
j)**2._wp + omega(0:weno_num_stencils)*(1._wp - 2._wp*
d_cbr_x(0:weno_num_stencils,
j))))
2657 alpha(0:weno_num_stencils) =
d_cbr_x(0:weno_num_stencils,
j)*(1._wp + tau/beta(0:weno_num_stencils))
2661 omega = alpha/sum(alpha)
2663 vr_rs_vf_x(
j,
k,
l, i) = omega(0)*poly(0) + omega(1)*poly(1)
2670# 792 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2672# 792 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2673#if defined(MFC_OpenACC)
2674# 792 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2676# 792 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2677#elif defined(MFC_OpenMP)
2678# 792 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2680# 792 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2682# 792 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2684# 792 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2686# 792 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2689# 714 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2690 if (weno_dir == 2)
then
2692# 715 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2694# 715 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2695#if defined(MFC_OpenACC)
2696# 715 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2698# 715 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2699#elif defined(MFC_OpenMP)
2700# 715 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2702# 715 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2704# 715 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2706# 715 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2708# 715 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2710# 715 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2738 alpha(0:weno_num_stencils) =
d_cbl_y(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
2740 elseif (mapped_weno)
then
2741 alpha(0:weno_num_stencils) =
d_cbl_y(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
2742 omega = alpha/sum(alpha)
2743 alpha(0:weno_num_stencils) = (
d_cbl_y(0:weno_num_stencils,
j)*(1._wp +
d_cbl_y(0:weno_num_stencils,
j) - 3._wp*omega(0:weno_num_stencils)) + omega(0:weno_num_stencils)**2._wp) &
2744 *(omega(0:weno_num_stencils)/(
d_cbl_y(0:weno_num_stencils,
j)**2._wp + omega(0:weno_num_stencils)*(1._wp - 2._wp*
d_cbl_y(0:weno_num_stencils,
j))))
2749 tau = abs(beta(1) - beta(0))
2750 alpha(0:weno_num_stencils) =
d_cbl_y(0:weno_num_stencils,
j)*(1._wp + tau/beta(0:weno_num_stencils))
2754 omega = alpha/sum(alpha)
2756 vl_rs_vf_y(
j,
k,
l, i) = omega(0)*poly(0) + omega(1)*poly(1)
2766 alpha(0:weno_num_stencils) =
d_cbr_y(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
2768 elseif (mapped_weno)
then
2769 alpha(0:weno_num_stencils) =
d_cbr_y(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
2770 omega = alpha/sum(alpha)
2771 alpha(0:weno_num_stencils) = (
d_cbr_y(0:weno_num_stencils,
j)*(1._wp +
d_cbr_y(0:weno_num_stencils,
j) - 3._wp*omega(0:weno_num_stencils)) + omega(0:weno_num_stencils)**2._wp) &
2772 *(omega(0:weno_num_stencils)/(
d_cbr_y(0:weno_num_stencils,
j)**2._wp + omega(0:weno_num_stencils)*(1._wp - 2._wp*
d_cbr_y(0:weno_num_stencils,
j))))
2776 alpha(0:weno_num_stencils) =
d_cbr_y(0:weno_num_stencils,
j)*(1._wp + tau/beta(0:weno_num_stencils))
2780 omega = alpha/sum(alpha)
2782 vr_rs_vf_y(
j,
k,
l, i) = omega(0)*poly(0) + omega(1)*poly(1)
2789# 792 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2791# 792 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2792#if defined(MFC_OpenACC)
2793# 792 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2795# 792 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2796#elif defined(MFC_OpenMP)
2797# 792 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2799# 792 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2801# 792 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2803# 792 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2805# 792 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2808# 714 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2809 if (weno_dir == 3)
then
2811# 715 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2813# 715 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2814#if defined(MFC_OpenACC)
2815# 715 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2817# 715 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2818#elif defined(MFC_OpenMP)
2819# 715 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2821# 715 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2823# 715 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2825# 715 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2827# 715 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2829# 715 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2857 alpha(0:weno_num_stencils) =
d_cbl_z(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
2859 elseif (mapped_weno)
then
2860 alpha(0:weno_num_stencils) =
d_cbl_z(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
2861 omega = alpha/sum(alpha)
2862 alpha(0:weno_num_stencils) = (
d_cbl_z(0:weno_num_stencils,
j)*(1._wp +
d_cbl_z(0:weno_num_stencils,
j) - 3._wp*omega(0:weno_num_stencils)) + omega(0:weno_num_stencils)**2._wp) &
2863 *(omega(0:weno_num_stencils)/(
d_cbl_z(0:weno_num_stencils,
j)**2._wp + omega(0:weno_num_stencils)*(1._wp - 2._wp*
d_cbl_z(0:weno_num_stencils,
j))))
2868 tau = abs(beta(1) - beta(0))
2869 alpha(0:weno_num_stencils) =
d_cbl_z(0:weno_num_stencils,
j)*(1._wp + tau/beta(0:weno_num_stencils))
2873 omega = alpha/sum(alpha)
2875 vl_rs_vf_z(
j,
k,
l, i) = omega(0)*poly(0) + omega(1)*poly(1)
2885 alpha(0:weno_num_stencils) =
d_cbr_z(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
2887 elseif (mapped_weno)
then
2888 alpha(0:weno_num_stencils) =
d_cbr_z(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
2889 omega = alpha/sum(alpha)
2890 alpha(0:weno_num_stencils) = (
d_cbr_z(0:weno_num_stencils,
j)*(1._wp +
d_cbr_z(0:weno_num_stencils,
j) - 3._wp*omega(0:weno_num_stencils)) + omega(0:weno_num_stencils)**2._wp) &
2891 *(omega(0:weno_num_stencils)/(
d_cbr_z(0:weno_num_stencils,
j)**2._wp + omega(0:weno_num_stencils)*(1._wp - 2._wp*
d_cbr_z(0:weno_num_stencils,
j))))
2895 alpha(0:weno_num_stencils) =
d_cbr_z(0:weno_num_stencils,
j)*(1._wp + tau/beta(0:weno_num_stencils))
2899 omega = alpha/sum(alpha)
2901 vr_rs_vf_z(
j,
k,
l, i) = omega(0)*poly(0) + omega(1)*poly(1)
2908# 792 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2910# 792 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2911#if defined(MFC_OpenACC)
2912# 792 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2914# 792 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2915#elif defined(MFC_OpenMP)
2916# 792 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2918# 792 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2920# 792 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2922# 792 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2924# 792 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2927# 795 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2929 if (weno_order == 5 .or. dummy)
then
2930# 798 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2931# 799 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2932 if (weno_dir == 1)
then
2934# 800 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2936# 800 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2937#if defined(MFC_OpenACC)
2938# 800 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2940# 800 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2941#elif defined(MFC_OpenMP)
2942# 800 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2944# 800 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2946# 800 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2948# 800 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2950# 800 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2952# 800 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2958# 804 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2959#if defined(MFC_OpenACC)
2960# 804 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2962# 804 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2963#elif defined(MFC_OpenMP)
2964# 804 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2966# 804 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3009 alpha(0:weno_num_stencils) =
d_cbl_x(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
3011 elseif (mapped_weno)
then
3012 alpha(0:weno_num_stencils) =
d_cbl_x(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
3013 omega = alpha/sum(alpha)
3014 alpha(0:weno_num_stencils) = (
d_cbl_x(0:weno_num_stencils,
j)*(1._wp +
d_cbl_x(0:weno_num_stencils,
j) - 3._wp*omega(0:weno_num_stencils)) + omega(0:weno_num_stencils)**2._wp) &
3015 *(omega(0:weno_num_stencils)/(
d_cbl_x(0:weno_num_stencils,
j)**2._wp + omega(0:weno_num_stencils)*(1._wp - 2._wp*
d_cbl_x(0:weno_num_stencils,
j))))
3021 tau = abs(beta(2) - beta(0))
3023# 859 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3024#if defined(MFC_OpenACC)
3025# 859 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3027# 859 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3028#elif defined(MFC_OpenMP)
3029# 859 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3031# 859 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3033 do q = 0, weno_num_stencils
3034 alpha(q) =
d_cbl_x(q,
j)*(1._wp + (tau/beta(q)))
3040 tau = abs(beta(2) - beta(0))
3042# 868 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3043#if defined(MFC_OpenACC)
3044# 868 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3046# 868 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3047#elif defined(MFC_OpenMP)
3048# 868 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3050# 868 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3052 do q = 0, weno_num_stencils
3053 alpha(q) = 1._wp + tau/beta(q)
3054 alpha(q) = (alpha(q)**3._wp)**2._wp
3056 omega = alpha/sum(alpha)
3059# 875 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3060#if defined(MFC_OpenACC)
3061# 875 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3063# 875 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3064#elif defined(MFC_OpenMP)
3065# 875 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3067# 875 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3069 do q = 0, weno_num_stencils
3070 if (omega(q) < teno_ct)
then
3079 omega = alpha/sum(alpha)
3081 vl_rs_vf_x(
j,
k,
l, i) = omega(0)*poly(0) + omega(1)*poly(1) + omega(2)*poly(2)
3096 alpha(0:weno_num_stencils) =
d_cbr_x(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
3098 elseif (mapped_weno)
then
3099 alpha(0:weno_num_stencils) =
d_cbr_x(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
3100 omega = alpha/sum(alpha)
3101 alpha(0:weno_num_stencils) = (
d_cbr_x(0:weno_num_stencils,
j)*(1._wp +
d_cbr_x(0:weno_num_stencils,
j) - 3._wp*omega(0:weno_num_stencils)) + omega(0:weno_num_stencils)**2._wp) &
3102 *(omega(0:weno_num_stencils)/(
d_cbr_x(0:weno_num_stencils,
j)**2._wp + omega(0:weno_num_stencils)*(1._wp - 2._wp*
d_cbr_x(0:weno_num_stencils,
j))))
3107# 913 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3108#if defined(MFC_OpenACC)
3109# 913 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3111# 913 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3112#elif defined(MFC_OpenMP)
3113# 913 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3115# 913 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3117 do q = 0, weno_num_stencils
3118 alpha(q) =
d_cbr_x(q,
j)*(1._wp + (tau/beta(q)))
3123# 919 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3124#if defined(MFC_OpenACC)
3125# 919 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3127# 919 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3128#elif defined(MFC_OpenMP)
3129# 919 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3131# 919 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3133 do q = 0, weno_num_stencils
3138 omega = alpha/sum(alpha)
3140 vr_rs_vf_x(
j,
k,
l, i) = omega(0)*poly(0) + omega(1)*poly(1) + omega(2)*poly(2)
3147# 933 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3149# 933 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3150#if defined(MFC_OpenACC)
3151# 933 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3153# 933 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3154#elif defined(MFC_OpenMP)
3155# 933 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3157# 933 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3159# 933 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3161# 933 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3163# 933 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3171# 799 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3172 if (weno_dir == 2)
then
3174# 800 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3176# 800 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3177#if defined(MFC_OpenACC)
3178# 800 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3180# 800 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3181#elif defined(MFC_OpenMP)
3182# 800 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3184# 800 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3186# 800 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3188# 800 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3190# 800 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3192# 800 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3198# 804 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3199#if defined(MFC_OpenACC)
3200# 804 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3202# 804 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3203#elif defined(MFC_OpenMP)
3204# 804 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3206# 804 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3249 alpha(0:weno_num_stencils) =
d_cbl_y(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
3251 elseif (mapped_weno)
then
3252 alpha(0:weno_num_stencils) =
d_cbl_y(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
3253 omega = alpha/sum(alpha)
3254 alpha(0:weno_num_stencils) = (
d_cbl_y(0:weno_num_stencils,
j)*(1._wp +
d_cbl_y(0:weno_num_stencils,
j) - 3._wp*omega(0:weno_num_stencils)) + omega(0:weno_num_stencils)**2._wp) &
3255 *(omega(0:weno_num_stencils)/(
d_cbl_y(0:weno_num_stencils,
j)**2._wp + omega(0:weno_num_stencils)*(1._wp - 2._wp*
d_cbl_y(0:weno_num_stencils,
j))))
3261 tau = abs(beta(2) - beta(0))
3263# 859 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3264#if defined(MFC_OpenACC)
3265# 859 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3267# 859 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3268#elif defined(MFC_OpenMP)
3269# 859 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3271# 859 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3273 do q = 0, weno_num_stencils
3274 alpha(q) =
d_cbl_y(q,
j)*(1._wp + (tau/beta(q)))
3280 tau = abs(beta(2) - beta(0))
3282# 868 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3283#if defined(MFC_OpenACC)
3284# 868 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3286# 868 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3287#elif defined(MFC_OpenMP)
3288# 868 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3290# 868 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3292 do q = 0, weno_num_stencils
3293 alpha(q) = 1._wp + tau/beta(q)
3294 alpha(q) = (alpha(q)**3._wp)**2._wp
3296 omega = alpha/sum(alpha)
3299# 875 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3300#if defined(MFC_OpenACC)
3301# 875 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3303# 875 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3304#elif defined(MFC_OpenMP)
3305# 875 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3307# 875 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3309 do q = 0, weno_num_stencils
3310 if (omega(q) < teno_ct)
then
3319 omega = alpha/sum(alpha)
3321 vl_rs_vf_y(
j,
k,
l, i) = omega(0)*poly(0) + omega(1)*poly(1) + omega(2)*poly(2)
3336 alpha(0:weno_num_stencils) =
d_cbr_y(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
3338 elseif (mapped_weno)
then
3339 alpha(0:weno_num_stencils) =
d_cbr_y(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
3340 omega = alpha/sum(alpha)
3341 alpha(0:weno_num_stencils) = (
d_cbr_y(0:weno_num_stencils,
j)*(1._wp +
d_cbr_y(0:weno_num_stencils,
j) - 3._wp*omega(0:weno_num_stencils)) + omega(0:weno_num_stencils)**2._wp) &
3342 *(omega(0:weno_num_stencils)/(
d_cbr_y(0:weno_num_stencils,
j)**2._wp + omega(0:weno_num_stencils)*(1._wp - 2._wp*
d_cbr_y(0:weno_num_stencils,
j))))
3347# 913 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3348#if defined(MFC_OpenACC)
3349# 913 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3351# 913 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3352#elif defined(MFC_OpenMP)
3353# 913 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3355# 913 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3357 do q = 0, weno_num_stencils
3358 alpha(q) =
d_cbr_y(q,
j)*(1._wp + (tau/beta(q)))
3363# 919 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3364#if defined(MFC_OpenACC)
3365# 919 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3367# 919 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3368#elif defined(MFC_OpenMP)
3369# 919 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3371# 919 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3373 do q = 0, weno_num_stencils
3378 omega = alpha/sum(alpha)
3380 vr_rs_vf_y(
j,
k,
l, i) = omega(0)*poly(0) + omega(1)*poly(1) + omega(2)*poly(2)
3387# 933 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3389# 933 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3390#if defined(MFC_OpenACC)
3391# 933 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3393# 933 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3394#elif defined(MFC_OpenMP)
3395# 933 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3397# 933 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3399# 933 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3401# 933 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3403# 933 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3411# 799 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3412 if (weno_dir == 3)
then
3414# 800 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3416# 800 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3417#if defined(MFC_OpenACC)
3418# 800 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3420# 800 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3421#elif defined(MFC_OpenMP)
3422# 800 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3424# 800 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3426# 800 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3428# 800 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3430# 800 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3432# 800 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3438# 804 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3439#if defined(MFC_OpenACC)
3440# 804 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3442# 804 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3443#elif defined(MFC_OpenMP)
3444# 804 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3446# 804 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3489 alpha(0:weno_num_stencils) =
d_cbl_z(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
3491 elseif (mapped_weno)
then
3492 alpha(0:weno_num_stencils) =
d_cbl_z(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
3493 omega = alpha/sum(alpha)
3494 alpha(0:weno_num_stencils) = (
d_cbl_z(0:weno_num_stencils,
j)*(1._wp +
d_cbl_z(0:weno_num_stencils,
j) - 3._wp*omega(0:weno_num_stencils)) + omega(0:weno_num_stencils)**2._wp) &
3495 *(omega(0:weno_num_stencils)/(
d_cbl_z(0:weno_num_stencils,
j)**2._wp + omega(0:weno_num_stencils)*(1._wp - 2._wp*
d_cbl_z(0:weno_num_stencils,
j))))
3501 tau = abs(beta(2) - beta(0))
3503# 859 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3504#if defined(MFC_OpenACC)
3505# 859 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3507# 859 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3508#elif defined(MFC_OpenMP)
3509# 859 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3511# 859 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3513 do q = 0, weno_num_stencils
3514 alpha(q) =
d_cbl_z(q,
j)*(1._wp + (tau/beta(q)))
3520 tau = abs(beta(2) - beta(0))
3522# 868 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3523#if defined(MFC_OpenACC)
3524# 868 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3526# 868 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3527#elif defined(MFC_OpenMP)
3528# 868 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3530# 868 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3532 do q = 0, weno_num_stencils
3533 alpha(q) = 1._wp + tau/beta(q)
3534 alpha(q) = (alpha(q)**3._wp)**2._wp
3536 omega = alpha/sum(alpha)
3539# 875 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3540#if defined(MFC_OpenACC)
3541# 875 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3543# 875 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3544#elif defined(MFC_OpenMP)
3545# 875 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3547# 875 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3549 do q = 0, weno_num_stencils
3550 if (omega(q) < teno_ct)
then
3559 omega = alpha/sum(alpha)
3561 vl_rs_vf_z(
j,
k,
l, i) = omega(0)*poly(0) + omega(1)*poly(1) + omega(2)*poly(2)
3576 alpha(0:weno_num_stencils) =
d_cbr_z(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
3578 elseif (mapped_weno)
then
3579 alpha(0:weno_num_stencils) =
d_cbr_z(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
3580 omega = alpha/sum(alpha)
3581 alpha(0:weno_num_stencils) = (
d_cbr_z(0:weno_num_stencils,
j)*(1._wp +
d_cbr_z(0:weno_num_stencils,
j) - 3._wp*omega(0:weno_num_stencils)) + omega(0:weno_num_stencils)**2._wp) &
3582 *(omega(0:weno_num_stencils)/(
d_cbr_z(0:weno_num_stencils,
j)**2._wp + omega(0:weno_num_stencils)*(1._wp - 2._wp*
d_cbr_z(0:weno_num_stencils,
j))))
3587# 913 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3588#if defined(MFC_OpenACC)
3589# 913 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3591# 913 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3592#elif defined(MFC_OpenMP)
3593# 913 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3595# 913 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3597 do q = 0, weno_num_stencils
3598 alpha(q) =
d_cbr_z(q,
j)*(1._wp + (tau/beta(q)))
3603# 919 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3604#if defined(MFC_OpenACC)
3605# 919 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3607# 919 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3608#elif defined(MFC_OpenMP)
3609# 919 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3611# 919 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3613 do q = 0, weno_num_stencils
3618 omega = alpha/sum(alpha)
3620 vr_rs_vf_z(
j,
k,
l, i) = omega(0)*poly(0) + omega(1)*poly(1) + omega(2)*poly(2)
3627# 933 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3629# 933 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3630#if defined(MFC_OpenACC)
3631# 933 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3633# 933 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3634#elif defined(MFC_OpenMP)
3635# 933 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3637# 933 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3639# 933 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3641# 933 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3643# 933 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3651# 941 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3652# 942 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3654 if (weno_order == 7 .or. dummy)
then
3655# 945 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3656# 946 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3657 if (weno_dir == 1)
then
3659# 947 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3661# 947 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3662#if defined(MFC_OpenACC)
3663# 947 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3665# 947 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3666#elif defined(MFC_OpenMP)
3667# 947 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3669# 947 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3671# 947 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3673# 947 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3675# 947 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3677# 947 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3683# 951 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3684#if defined(MFC_OpenACC)
3685# 951 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3687# 951 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3688#elif defined(MFC_OpenMP)
3689# 951 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3691# 951 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3702 if (.not. teno)
then
3734# 994 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3740 poly(0) = ( 2._wp*v(-1) + 5._wp*v( 0) - 1._wp*v( 1)) / 6._wp
3741 poly(1) = (11._wp*v( 0) - 7._wp*v( 1) + 2._wp*v( 2)) / 6._wp
3742 poly(2) = (-1._wp*v(-2) + 5._wp*v(-1) + 2._wp*v( 0)) / 6._wp
3743 poly(3) = (25._wp*v( 0) - 23._wp*v( 1) + 13._wp*v( 2) - 3._wp*v( 3)) / 12._wp
3744 poly(4) = ( 1._wp*v(-3) - 5._wp*v(-2) + 13._wp*v(-1) + 3._wp*v( 0)) / 12._wp
3745# 1005 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3748 if (.not. teno)
then
3783# 1043 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3785 beta(0) = 13._wp/12._wp*(v(-1) - 2._wp*v( 0) + v( 1))**2._wp + (( v(-1) - v( 1))**2._wp)/4._wp + weno_eps
3786 beta(1) = 13._wp/12._wp*(v( 0) - 2._wp*v( 1) + v( 2))**2._wp + ((3._wp*v( 0) - 4._wp*v( 1) + v( 2))**2._wp)/4._wp + weno_eps
3787 beta(2) = 13._wp/12._wp*(v(-2) - 2._wp*v(-1) + v( 0))**2._wp + (( v(-2) - 4._wp*v(-1) + 3._wp*v( 0))**2._wp)/4._wp + weno_eps
3789 beta(3) = ( v( 0)*(2107._wp*v( 0) - 9402._wp*v( 1) + 7042._wp*v( 2) - 1854._wp*v( 3)) &
3790 + v( 1)*( 11003._wp*v( 1) - 17246._wp*v( 2) + 4642._wp*v( 3)) &
3791 + v( 2)*( 7043._wp*v( 2) - 3882._wp*v( 3)) &
3792 + v( 3)*( 547._wp*v( 3)) ) / 240._wp &
3795 beta(4) = ( v(-3)*(547._wp*v(-3) - 3882._wp*v(-2) + 4642._wp*v(-1) - 1854._wp*v( 0)) &
3796 + v(-2)*( 7043._wp*v(-2) - 17246._wp*v(-1) + 7042._wp*v( 0)) &
3797 + v(-1)*( 11003._wp*v(-1) - 9402._wp*v( 0)) &
3798 + v( 0)*( 2107._wp*v( 0)) ) / 240._wp &
3800# 1060 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3804 alpha(0:weno_num_stencils) =
d_cbl_x(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
3806 elseif (mapped_weno)
then
3807 alpha(0:weno_num_stencils) =
d_cbl_x(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
3808 omega = alpha/sum(alpha)
3809 alpha(0:weno_num_stencils) = (
d_cbl_x(0:weno_num_stencils,
j)*(1._wp +
d_cbl_x(0:weno_num_stencils,
j) - 3._wp*omega(0:weno_num_stencils)) + omega(0:weno_num_stencils)**2._wp) &
3810 *(omega(0:weno_num_stencils)/(
d_cbl_x(0:weno_num_stencils,
j)**2._wp + omega(0:weno_num_stencils)*(1._wp - 2._wp*
d_cbl_x(0:weno_num_stencils,
j))))
3815 tau = abs(beta(3) - beta(0))
3817# 1075 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3818#if defined(MFC_OpenACC)
3819# 1075 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3821# 1075 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3822#elif defined(MFC_OpenMP)
3823# 1075 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3825# 1075 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3827 do q = 0, weno_num_stencils
3828 alpha(q) =
d_cbl_x(q,
j)*(1._wp + (tau/beta(q))**wenoz_q)
3832# 1082 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3833 tau = abs(beta(4) - beta(3))
3834 alpha = 1._wp + tau/beta
3835 alpha = (alpha**3._wp)**2._wp
3836 omega = alpha/sum(alpha)
3839# 1087 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3840#if defined(MFC_OpenACC)
3841# 1087 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3843# 1087 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3844#elif defined(MFC_OpenMP)
3845# 1087 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3847# 1087 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3849 do q = 0, weno_num_stencils
3850 if (omega(q) < teno_ct)
then
3857# 1097 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3860 omega = alpha/sum(alpha)
3862 vl_rs_vf_x(
j,
k,
l, i) = omega(0)*poly(0) + omega(1)*poly(1) + omega(2)*poly(2) + omega(3)*poly(3)
3865# 1105 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3866 vl_rs_vf_x(
j,
k,
l, i) = vl_rs_vf_x(
j,
k,
l, i) + omega(4)*poly(4)
3867# 1107 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3870 if (.not. teno)
then
3888# 1128 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3889 poly(0) = (-1._wp*v(-1) + 5._wp*v( 0) + 2._wp*v( 1)) / 6._wp
3890 poly(1) = ( 2._wp*v( 0) + 5._wp*v( 1) - 1._wp*v( 2)) / 6._wp
3891 poly(2) = ( 2._wp*v(-2) - 7._wp*v(-1) + 11._wp*v( 0)) / 6._wp
3892 poly(3) = ( 3._wp*v( 0) + 13._wp*v( 1) - 5._wp*v( 2) + 1._wp*v( 3)) / 12._wp
3893 poly(4) = (-3._wp*v(-3) + 13._wp*v(-2) - 23._wp*v(-1) + 25._wp*v( 0)) / 12._wp
3894# 1134 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3898 alpha(0:weno_num_stencils) =
d_cbr_x(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
3900 elseif (mapped_weno)
then
3901 alpha(0:weno_num_stencils) =
d_cbr_x(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
3902 omega = alpha/sum(alpha)
3903 alpha(0:weno_num_stencils) = (
d_cbr_x(0:weno_num_stencils,
j)*(1._wp +
d_cbr_x(0:weno_num_stencils,
j) - 3._wp*omega(0:weno_num_stencils)) + omega(0:weno_num_stencils)**2._wp) &
3904 *(omega(0:weno_num_stencils)/(
d_cbr_x(0:weno_num_stencils,
j)**2._wp + omega(0:weno_num_stencils)*(1._wp - 2._wp*
d_cbr_x(0:weno_num_stencils,
j))))
3909# 1147 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3910#if defined(MFC_OpenACC)
3911# 1147 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3913# 1147 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3914#elif defined(MFC_OpenMP)
3915# 1147 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3917# 1147 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3919 do q = 0, weno_num_stencils
3920 alpha(q) =
d_cbr_x(q,
j)*(1._wp + (tau/beta(q))**wenoz_q)
3925# 1153 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3926#if defined(MFC_OpenACC)
3927# 1153 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3929# 1153 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3930#elif defined(MFC_OpenMP)
3931# 1153 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3933# 1153 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3935 do q = 0, weno_num_stencils
3940 omega = alpha/sum(alpha)
3942 vr_rs_vf_x(
j,
k,
l, i) = omega(0)*poly(0) + omega(1)*poly(1) + omega(2)*poly(2) + omega(3)*poly(3)
3945# 1165 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3946 vr_rs_vf_x(
j,
k,
l, i) = vr_rs_vf_x(
j,
k,
l, i) + omega(4)*poly(4)
3947# 1167 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3955# 1173 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3957# 1173 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3958#if defined(MFC_OpenACC)
3959# 1173 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3961# 1173 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3962#elif defined(MFC_OpenMP)
3963# 1173 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3965# 1173 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3967# 1173 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3969# 1173 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3971# 1173 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3974# 946 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3975 if (weno_dir == 2)
then
3977# 947 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3979# 947 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3980#if defined(MFC_OpenACC)
3981# 947 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3983# 947 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3984#elif defined(MFC_OpenMP)
3985# 947 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3987# 947 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3989# 947 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3991# 947 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3993# 947 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3995# 947 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4001# 951 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4002#if defined(MFC_OpenACC)
4003# 951 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4005# 951 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4006#elif defined(MFC_OpenMP)
4007# 951 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4009# 951 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4020 if (.not. teno)
then
4052# 994 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4058 poly(0) = ( 2._wp*v(-1) + 5._wp*v( 0) - 1._wp*v( 1)) / 6._wp
4059 poly(1) = (11._wp*v( 0) - 7._wp*v( 1) + 2._wp*v( 2)) / 6._wp
4060 poly(2) = (-1._wp*v(-2) + 5._wp*v(-1) + 2._wp*v( 0)) / 6._wp
4061 poly(3) = (25._wp*v( 0) - 23._wp*v( 1) + 13._wp*v( 2) - 3._wp*v( 3)) / 12._wp
4062 poly(4) = ( 1._wp*v(-3) - 5._wp*v(-2) + 13._wp*v(-1) + 3._wp*v( 0)) / 12._wp
4063# 1005 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4066 if (.not. teno)
then
4101# 1043 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4103 beta(0) = 13._wp/12._wp*(v(-1) - 2._wp*v( 0) + v( 1))**2._wp + (( v(-1) - v( 1))**2._wp)/4._wp + weno_eps
4104 beta(1) = 13._wp/12._wp*(v( 0) - 2._wp*v( 1) + v( 2))**2._wp + ((3._wp*v( 0) - 4._wp*v( 1) + v( 2))**2._wp)/4._wp + weno_eps
4105 beta(2) = 13._wp/12._wp*(v(-2) - 2._wp*v(-1) + v( 0))**2._wp + (( v(-2) - 4._wp*v(-1) + 3._wp*v( 0))**2._wp)/4._wp + weno_eps
4107 beta(3) = ( v( 0)*(2107._wp*v( 0) - 9402._wp*v( 1) + 7042._wp*v( 2) - 1854._wp*v( 3)) &
4108 + v( 1)*( 11003._wp*v( 1) - 17246._wp*v( 2) + 4642._wp*v( 3)) &
4109 + v( 2)*( 7043._wp*v( 2) - 3882._wp*v( 3)) &
4110 + v( 3)*( 547._wp*v( 3)) ) / 240._wp &
4113 beta(4) = ( v(-3)*(547._wp*v(-3) - 3882._wp*v(-2) + 4642._wp*v(-1) - 1854._wp*v( 0)) &
4114 + v(-2)*( 7043._wp*v(-2) - 17246._wp*v(-1) + 7042._wp*v( 0)) &
4115 + v(-1)*( 11003._wp*v(-1) - 9402._wp*v( 0)) &
4116 + v( 0)*( 2107._wp*v( 0)) ) / 240._wp &
4118# 1060 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4122 alpha(0:weno_num_stencils) =
d_cbl_y(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
4124 elseif (mapped_weno)
then
4125 alpha(0:weno_num_stencils) =
d_cbl_y(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
4126 omega = alpha/sum(alpha)
4127 alpha(0:weno_num_stencils) = (
d_cbl_y(0:weno_num_stencils,
j)*(1._wp +
d_cbl_y(0:weno_num_stencils,
j) - 3._wp*omega(0:weno_num_stencils)) + omega(0:weno_num_stencils)**2._wp) &
4128 *(omega(0:weno_num_stencils)/(
d_cbl_y(0:weno_num_stencils,
j)**2._wp + omega(0:weno_num_stencils)*(1._wp - 2._wp*
d_cbl_y(0:weno_num_stencils,
j))))
4133 tau = abs(beta(3) - beta(0))
4135# 1075 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4136#if defined(MFC_OpenACC)
4137# 1075 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4139# 1075 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4140#elif defined(MFC_OpenMP)
4141# 1075 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4143# 1075 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4145 do q = 0, weno_num_stencils
4146 alpha(q) =
d_cbl_y(q,
j)*(1._wp + (tau/beta(q))**wenoz_q)
4150# 1082 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4151 tau = abs(beta(4) - beta(3))
4152 alpha = 1._wp + tau/beta
4153 alpha = (alpha**3._wp)**2._wp
4154 omega = alpha/sum(alpha)
4157# 1087 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4158#if defined(MFC_OpenACC)
4159# 1087 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4161# 1087 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4162#elif defined(MFC_OpenMP)
4163# 1087 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4165# 1087 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4167 do q = 0, weno_num_stencils
4168 if (omega(q) < teno_ct)
then
4175# 1097 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4178 omega = alpha/sum(alpha)
4180 vl_rs_vf_y(
j,
k,
l, i) = omega(0)*poly(0) + omega(1)*poly(1) + omega(2)*poly(2) + omega(3)*poly(3)
4183# 1105 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4184 vl_rs_vf_y(
j,
k,
l, i) = vl_rs_vf_y(
j,
k,
l, i) + omega(4)*poly(4)
4185# 1107 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4188 if (.not. teno)
then
4206# 1128 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4207 poly(0) = (-1._wp*v(-1) + 5._wp*v( 0) + 2._wp*v( 1)) / 6._wp
4208 poly(1) = ( 2._wp*v( 0) + 5._wp*v( 1) - 1._wp*v( 2)) / 6._wp
4209 poly(2) = ( 2._wp*v(-2) - 7._wp*v(-1) + 11._wp*v( 0)) / 6._wp
4210 poly(3) = ( 3._wp*v( 0) + 13._wp*v( 1) - 5._wp*v( 2) + 1._wp*v( 3)) / 12._wp
4211 poly(4) = (-3._wp*v(-3) + 13._wp*v(-2) - 23._wp*v(-1) + 25._wp*v( 0)) / 12._wp
4212# 1134 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4216 alpha(0:weno_num_stencils) =
d_cbr_y(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
4218 elseif (mapped_weno)
then
4219 alpha(0:weno_num_stencils) =
d_cbr_y(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
4220 omega = alpha/sum(alpha)
4221 alpha(0:weno_num_stencils) = (
d_cbr_y(0:weno_num_stencils,
j)*(1._wp +
d_cbr_y(0:weno_num_stencils,
j) - 3._wp*omega(0:weno_num_stencils)) + omega(0:weno_num_stencils)**2._wp) &
4222 *(omega(0:weno_num_stencils)/(
d_cbr_y(0:weno_num_stencils,
j)**2._wp + omega(0:weno_num_stencils)*(1._wp - 2._wp*
d_cbr_y(0:weno_num_stencils,
j))))
4227# 1147 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4228#if defined(MFC_OpenACC)
4229# 1147 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4231# 1147 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4232#elif defined(MFC_OpenMP)
4233# 1147 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4235# 1147 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4237 do q = 0, weno_num_stencils
4238 alpha(q) =
d_cbr_y(q,
j)*(1._wp + (tau/beta(q))**wenoz_q)
4243# 1153 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4244#if defined(MFC_OpenACC)
4245# 1153 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4247# 1153 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4248#elif defined(MFC_OpenMP)
4249# 1153 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4251# 1153 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4253 do q = 0, weno_num_stencils
4258 omega = alpha/sum(alpha)
4260 vr_rs_vf_y(
j,
k,
l, i) = omega(0)*poly(0) + omega(1)*poly(1) + omega(2)*poly(2) + omega(3)*poly(3)
4263# 1165 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4264 vr_rs_vf_y(
j,
k,
l, i) = vr_rs_vf_y(
j,
k,
l, i) + omega(4)*poly(4)
4265# 1167 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4273# 1173 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4275# 1173 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4276#if defined(MFC_OpenACC)
4277# 1173 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4279# 1173 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4280#elif defined(MFC_OpenMP)
4281# 1173 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4283# 1173 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4285# 1173 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4287# 1173 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4289# 1173 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4292# 946 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4293 if (weno_dir == 3)
then
4295# 947 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4297# 947 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4298#if defined(MFC_OpenACC)
4299# 947 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4301# 947 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4302#elif defined(MFC_OpenMP)
4303# 947 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4305# 947 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4307# 947 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4309# 947 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4311# 947 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4313# 947 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4319# 951 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4320#if defined(MFC_OpenACC)
4321# 951 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4323# 951 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4324#elif defined(MFC_OpenMP)
4325# 951 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4327# 951 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4338 if (.not. teno)
then
4370# 994 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4376 poly(0) = ( 2._wp*v(-1) + 5._wp*v( 0) - 1._wp*v( 1)) / 6._wp
4377 poly(1) = (11._wp*v( 0) - 7._wp*v( 1) + 2._wp*v( 2)) / 6._wp
4378 poly(2) = (-1._wp*v(-2) + 5._wp*v(-1) + 2._wp*v( 0)) / 6._wp
4379 poly(3) = (25._wp*v( 0) - 23._wp*v( 1) + 13._wp*v( 2) - 3._wp*v( 3)) / 12._wp
4380 poly(4) = ( 1._wp*v(-3) - 5._wp*v(-2) + 13._wp*v(-1) + 3._wp*v( 0)) / 12._wp
4381# 1005 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4384 if (.not. teno)
then
4419# 1043 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4421 beta(0) = 13._wp/12._wp*(v(-1) - 2._wp*v( 0) + v( 1))**2._wp + (( v(-1) - v( 1))**2._wp)/4._wp + weno_eps
4422 beta(1) = 13._wp/12._wp*(v( 0) - 2._wp*v( 1) + v( 2))**2._wp + ((3._wp*v( 0) - 4._wp*v( 1) + v( 2))**2._wp)/4._wp + weno_eps
4423 beta(2) = 13._wp/12._wp*(v(-2) - 2._wp*v(-1) + v( 0))**2._wp + (( v(-2) - 4._wp*v(-1) + 3._wp*v( 0))**2._wp)/4._wp + weno_eps
4425 beta(3) = ( v( 0)*(2107._wp*v( 0) - 9402._wp*v( 1) + 7042._wp*v( 2) - 1854._wp*v( 3)) &
4426 + v( 1)*( 11003._wp*v( 1) - 17246._wp*v( 2) + 4642._wp*v( 3)) &
4427 + v( 2)*( 7043._wp*v( 2) - 3882._wp*v( 3)) &
4428 + v( 3)*( 547._wp*v( 3)) ) / 240._wp &
4431 beta(4) = ( v(-3)*(547._wp*v(-3) - 3882._wp*v(-2) + 4642._wp*v(-1) - 1854._wp*v( 0)) &
4432 + v(-2)*( 7043._wp*v(-2) - 17246._wp*v(-1) + 7042._wp*v( 0)) &
4433 + v(-1)*( 11003._wp*v(-1) - 9402._wp*v( 0)) &
4434 + v( 0)*( 2107._wp*v( 0)) ) / 240._wp &
4436# 1060 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4440 alpha(0:weno_num_stencils) =
d_cbl_z(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
4442 elseif (mapped_weno)
then
4443 alpha(0:weno_num_stencils) =
d_cbl_z(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
4444 omega = alpha/sum(alpha)
4445 alpha(0:weno_num_stencils) = (
d_cbl_z(0:weno_num_stencils,
j)*(1._wp +
d_cbl_z(0:weno_num_stencils,
j) - 3._wp*omega(0:weno_num_stencils)) + omega(0:weno_num_stencils)**2._wp) &
4446 *(omega(0:weno_num_stencils)/(
d_cbl_z(0:weno_num_stencils,
j)**2._wp + omega(0:weno_num_stencils)*(1._wp - 2._wp*
d_cbl_z(0:weno_num_stencils,
j))))
4451 tau = abs(beta(3) - beta(0))
4453# 1075 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4454#if defined(MFC_OpenACC)
4455# 1075 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4457# 1075 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4458#elif defined(MFC_OpenMP)
4459# 1075 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4461# 1075 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4463 do q = 0, weno_num_stencils
4464 alpha(q) =
d_cbl_z(q,
j)*(1._wp + (tau/beta(q))**wenoz_q)
4468# 1082 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4469 tau = abs(beta(4) - beta(3))
4470 alpha = 1._wp + tau/beta
4471 alpha = (alpha**3._wp)**2._wp
4472 omega = alpha/sum(alpha)
4475# 1087 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4476#if defined(MFC_OpenACC)
4477# 1087 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4479# 1087 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4480#elif defined(MFC_OpenMP)
4481# 1087 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4483# 1087 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4485 do q = 0, weno_num_stencils
4486 if (omega(q) < teno_ct)
then
4493# 1097 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4496 omega = alpha/sum(alpha)
4498 vl_rs_vf_z(
j,
k,
l, i) = omega(0)*poly(0) + omega(1)*poly(1) + omega(2)*poly(2) + omega(3)*poly(3)
4501# 1105 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4502 vl_rs_vf_z(
j,
k,
l, i) = vl_rs_vf_z(
j,
k,
l, i) + omega(4)*poly(4)
4503# 1107 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4506 if (.not. teno)
then
4524# 1128 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4525 poly(0) = (-1._wp*v(-1) + 5._wp*v( 0) + 2._wp*v( 1)) / 6._wp
4526 poly(1) = ( 2._wp*v( 0) + 5._wp*v( 1) - 1._wp*v( 2)) / 6._wp
4527 poly(2) = ( 2._wp*v(-2) - 7._wp*v(-1) + 11._wp*v( 0)) / 6._wp
4528 poly(3) = ( 3._wp*v( 0) + 13._wp*v( 1) - 5._wp*v( 2) + 1._wp*v( 3)) / 12._wp
4529 poly(4) = (-3._wp*v(-3) + 13._wp*v(-2) - 23._wp*v(-1) + 25._wp*v( 0)) / 12._wp
4530# 1134 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4534 alpha(0:weno_num_stencils) =
d_cbr_z(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
4536 elseif (mapped_weno)
then
4537 alpha(0:weno_num_stencils) =
d_cbr_z(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
4538 omega = alpha/sum(alpha)
4539 alpha(0:weno_num_stencils) = (
d_cbr_z(0:weno_num_stencils,
j)*(1._wp +
d_cbr_z(0:weno_num_stencils,
j) - 3._wp*omega(0:weno_num_stencils)) + omega(0:weno_num_stencils)**2._wp) &
4540 *(omega(0:weno_num_stencils)/(
d_cbr_z(0:weno_num_stencils,
j)**2._wp + omega(0:weno_num_stencils)*(1._wp - 2._wp*
d_cbr_z(0:weno_num_stencils,
j))))
4545# 1147 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4546#if defined(MFC_OpenACC)
4547# 1147 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4549# 1147 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4550#elif defined(MFC_OpenMP)
4551# 1147 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4553# 1147 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4555 do q = 0, weno_num_stencils
4556 alpha(q) =
d_cbr_z(q,
j)*(1._wp + (tau/beta(q))**wenoz_q)
4561# 1153 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4562#if defined(MFC_OpenACC)
4563# 1153 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4565# 1153 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4566#elif defined(MFC_OpenMP)
4567# 1153 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4569# 1153 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4571 do q = 0, weno_num_stencils
4576 omega = alpha/sum(alpha)
4578 vr_rs_vf_z(
j,
k,
l, i) = omega(0)*poly(0) + omega(1)*poly(1) + omega(2)*poly(2) + omega(3)*poly(3)
4581# 1165 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4582 vr_rs_vf_z(
j,
k,
l, i) = vr_rs_vf_z(
j,
k,
l, i) + omega(4)*poly(4)
4583# 1167 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4591# 1173 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4593# 1173 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4594#if defined(MFC_OpenACC)
4595# 1173 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4597# 1173 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4598#elif defined(MFC_OpenMP)
4599# 1173 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4601# 1173 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4603# 1173 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4605# 1173 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4607# 1173 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4610# 1176 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4611# 1177 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4615 call s_interface_compression(vl_rs_vf_x, vl_rs_vf_y, vl_rs_vf_z, &
4616 vr_rs_vf_x, vr_rs_vf_y, vr_rs_vf_z, &
4617 weno_dir, is1_weno_d, is2_weno_d, is3_weno_d)