1143 integer,
intent(in) :: weno_dir
1144 type(int_bounds_info),
intent(in) :: is
1147 real(wp),
pointer,
dimension(:) :: s_cb => null()
1150 type(int_bounds_info) :: bc_s
1160 if (weno_dir == 1)
then
1161 s = m; s_cb => x_cb; bc_s = bc_x
1162 elseif (weno_dir == 2)
then
1163 s = n; s_cb => y_cb; bc_s = bc_y
1165 s = p; s_cb => z_cb; bc_s = bc_z
1168# 229 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
1170 if (weno_dir == 1)
then
1171 if (weno_order == 3)
then
1172 do i = is%beg - 1 + weno_polyn, is%end - 1 - weno_polyn
1175 (s_cb(i) - s_cb(i + 2))
1177 (s_cb(i - 1) - s_cb(i + 1))
1182 d_cbr_x(0, i + 1) = (s_cb(i - 1) - s_cb(i + 1))/ &
1183 (s_cb(i - 1) - s_cb(i + 2))
1184 d_cbl_x(0, i + 1) = (s_cb(i - 1) - s_cb(i))/ &
1185 (s_cb(i - 1) - s_cb(i + 2))
1190 beta_coef_x(i + 1, 0, 0) = 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp/ &
1191 (s_cb(i) - s_cb(i + 2))**2._wp
1192 beta_coef_x(i + 1, 1, 0) = 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp/ &
1193 (s_cb(i - 1) - s_cb(i + 1))**2._wp
1201 if (null_weights)
then
1202 if (bc_s%beg == bc_riemann_extrap)
then
1207 if (bc_s%end == bc_riemann_extrap)
then
1215 elseif (weno_order == 5)
then
1217 do i = is%beg - 1 + weno_polyn, is%end - 1 - weno_polyn
1220 ((s_cb(i) - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i + 2)))/ &
1221 ((s_cb(i) - s_cb(i + 3))*(s_cb(i + 3) - s_cb(i + 1)))
1223 ((s_cb(i - 1) - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i)))/ &
1224 ((s_cb(i - 1) - s_cb(i + 2))*(s_cb(i + 2) - s_cb(i)))
1226 ((s_cb(i) - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i + 2)))/ &
1227 ((s_cb(i - 1) - s_cb(i + 1))*(s_cb(i - 1) - s_cb(i + 2)))
1229 ((s_cb(i) - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i - 1)))/ &
1230 ((s_cb(i - 2) - s_cb(i))*(s_cb(i - 2) - s_cb(i + 1)))
1232 ((s_cb(i + 1) - s_cb(i))*(s_cb(i) - s_cb(i + 2)))/ &
1233 ((s_cb(i) - s_cb(i + 3))*(s_cb(i + 3) - s_cb(i + 1)))
1235 ((s_cb(i) - s_cb(i - 1))*(s_cb(i) - s_cb(i + 1)))/ &
1236 ((s_cb(i - 1) - s_cb(i + 2))*(s_cb(i) - s_cb(i + 2)))
1238 ((s_cb(i + 1) - s_cb(i))*(s_cb(i) - s_cb(i + 2)))/ &
1239 ((s_cb(i - 1) - s_cb(i + 1))*(s_cb(i - 1) - s_cb(i + 2)))
1241 ((s_cb(i - 1) - s_cb(i))*(s_cb(i) - s_cb(i + 1)))/ &
1242 ((s_cb(i - 2) - s_cb(i))*(s_cb(i - 2) - s_cb(i + 1)))
1245 ((s_cb(i) - s_cb(i + 2)) + (s_cb(i + 1) - s_cb(i + 3)))/ &
1246 ((s_cb(i) - s_cb(i + 2))*(s_cb(i) - s_cb(i + 3)))* &
1247 ((s_cb(i) - s_cb(i + 1)))
1249 ((s_cb(i - 2) - s_cb(i + 1)) + (s_cb(i - 1) - s_cb(i + 1)))/ &
1250 ((s_cb(i - 1) - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i - 2)))* &
1251 ((s_cb(i + 1) - s_cb(i)))
1253 ((s_cb(i) - s_cb(i + 2)) + (s_cb(i) - s_cb(i + 3)))/ &
1254 ((s_cb(i) - s_cb(i + 2))*(s_cb(i) - s_cb(i + 3)))* &
1255 ((s_cb(i + 1) - s_cb(i)))
1257 ((s_cb(i - 2) - s_cb(i)) + (s_cb(i - 1) - s_cb(i + 1)))/ &
1258 ((s_cb(i - 2) - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i - 1)))* &
1259 ((s_cb(i) - s_cb(i + 1)))
1262 ((s_cb(i - 2) - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i - 1)))/ &
1263 ((s_cb(i - 2) - s_cb(i + 3))*(s_cb(i + 3) - s_cb(i - 1)))
1265 ((s_cb(i + 1) - s_cb(i + 2))*(s_cb(i + 1) - s_cb(i + 3)))/ &
1266 ((s_cb(i - 2) - s_cb(i + 2))*(s_cb(i - 2) - s_cb(i + 3)))
1268 ((s_cb(i - 2) - s_cb(i))*(s_cb(i) - s_cb(i - 1)))/ &
1269 ((s_cb(i - 2) - s_cb(i + 3))*(s_cb(i + 3) - s_cb(i - 1)))
1271 ((s_cb(i) - s_cb(i + 2))*(s_cb(i) - s_cb(i + 3)))/ &
1272 ((s_cb(i - 2) - s_cb(i + 2))*(s_cb(i - 2) - s_cb(i + 3)))
1278 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(10._wp*(s_cb(i + 1) - &
1279 s_cb(i))**2._wp + (s_cb(i + 1) - s_cb(i))*(s_cb(i + 2) - &
1280 s_cb(i + 1)) + (s_cb(i + 2) - s_cb(i + 1))**2._wp)/((s_cb(i) - &
1281 s_cb(i + 3))**2._wp*(s_cb(i + 1) - s_cb(i + 3))**2._wp)
1284 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(19._wp*(s_cb(i + 1) - &
1285 s_cb(i))**2._wp - (s_cb(i + 1) - s_cb(i))*(s_cb(i + 3) - &
1286 s_cb(i + 1)) + 2._wp*(s_cb(i + 2) - s_cb(i))*((s_cb(i + 2) - &
1287 s_cb(i)) + (s_cb(i + 3) - s_cb(i + 1))))/((s_cb(i) - &
1288 s_cb(i + 2))*(s_cb(i) - s_cb(i + 3))**2._wp*(s_cb(i + 3) - &
1292 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(10._wp*(s_cb(i + 1) - &
1293 s_cb(i))**2._wp + (s_cb(i + 1) - s_cb(i))*((s_cb(i + 2) - &
1294 s_cb(i)) + (s_cb(i + 3) - s_cb(i + 1))) + ((s_cb(i + 2) - &
1295 s_cb(i)) + (s_cb(i + 3) - s_cb(i + 1)))**2._wp)/((s_cb(i) - &
1296 s_cb(i + 2))**2._wp*(s_cb(i) - s_cb(i + 3))**2._wp)
1299 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(10._wp*(s_cb(i + 1) - &
1300 s_cb(i))**2._wp + (s_cb(i) - s_cb(i - 1))**2._wp + (s_cb(i) - &
1301 s_cb(i - 1))*(s_cb(i + 1) - s_cb(i)))/((s_cb(i - 1) - &
1302 s_cb(i + 2))**2._wp*(s_cb(i) - s_cb(i + 2))**2._wp)
1305 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*((s_cb(i) - &
1306 s_cb(i + 1))*((s_cb(i) - s_cb(i - 1)) + 20._wp*(s_cb(i + 1) - &
1307 s_cb(i))) + (2._wp*(s_cb(i) - s_cb(i - 1)) + (s_cb(i + 1) - &
1308 s_cb(i)))*(s_cb(i + 2) - s_cb(i)))/((s_cb(i + 1) - &
1309 s_cb(i - 1))*(s_cb(i - 1) - s_cb(i + 2))**2._wp*(s_cb(i + 2) - &
1313 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(10._wp*(s_cb(i + 1) - &
1314 s_cb(i))**2._wp + (s_cb(i + 1) - s_cb(i))*(s_cb(i + 2) - &
1315 s_cb(i + 1)) + (s_cb(i + 2) - s_cb(i + 1))**2._wp)/ &
1316 ((s_cb(i - 1) - s_cb(i + 1))**2._wp*(s_cb(i - 1) - &
1317 s_cb(i + 2))**2._wp)
1320 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(12._wp*(s_cb(i + 1) - &
1321 s_cb(i))**2._wp + ((s_cb(i) - s_cb(i - 2)) + (s_cb(i) - &
1322 s_cb(i - 1)))**2._wp + 3._wp*((s_cb(i) - s_cb(i - 2)) + &
1323 (s_cb(i) - s_cb(i - 1)))*(s_cb(i + 1) - s_cb(i)))/ &
1324 ((s_cb(i - 2) - s_cb(i + 1))**2._wp*(s_cb(i - 1) - &
1325 s_cb(i + 1))**2._wp)
1328 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(19._wp*(s_cb(i + 1) - &
1329 s_cb(i))**2._wp + ((s_cb(i) - s_cb(i - 2))*(s_cb(i) - &
1330 s_cb(i + 1))) + 2._wp*(s_cb(i + 1) - s_cb(i - 1))*((s_cb(i) - &
1331 s_cb(i - 2)) + (s_cb(i + 1) - s_cb(i - 1))))/((s_cb(i - 2) - &
1332 s_cb(i))*(s_cb(i - 2) - s_cb(i + 1))**2._wp*(s_cb(i + 1) - &
1336 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(10._wp*(s_cb(i + 1) - &
1337 s_cb(i))**2._wp + (s_cb(i) - s_cb(i - 1))**2._wp + (s_cb(i) - &
1338 s_cb(i - 1))*(s_cb(i + 1) - s_cb(i)))/((s_cb(i - 2) - &
1339 s_cb(i))**2._wp*(s_cb(i - 2) - s_cb(i + 1))**2._wp)
1347 if (null_weights)
then
1348 if (bc_s%beg == bc_riemann_extrap)
then
1355 if (bc_s%end == bc_riemann_extrap)
then
1365 if (.not. teno)
then
1367 do i = is%beg - 1 + weno_polyn, is%end - 1 - weno_polyn
1380 w = s_cb(i - 3:i + 4) - s_cb(i)
1381 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)))
1382 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)))
1383 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)))
1384 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)))
1386 w = s_cb(i + 4:i - 3:-1) - s_cb(i)
1387 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)))
1388 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)))
1389 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)))
1390 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)))
1393 y = s_cb(i + 1:i + 4) - s_cb(i:i + 3)
1394 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)))
1395 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)))
1396 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)))
1398 y = s_cb(i:i + 3) - s_cb(i - 1:i + 2)
1399 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)))
1400 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)))
1401 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)))
1403 y = s_cb(i - 1:i + 2) - s_cb(i - 2:i + 1)
1404 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)))
1405 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)))
1406 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)))
1408 y = s_cb(i - 2:i + 1) - s_cb(i - 3:i)
1409 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)))
1410 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)))
1411 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)))
1413 y = s_cb(i + 1:i - 2:-1) - s_cb(i:i - 3:-1)
1414 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)))
1415 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)))
1416 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)))
1418 y = s_cb(i + 2:i - 1:-1) - s_cb(i + 1:i - 2:-1)
1419 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)))
1420 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)))
1421 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)))
1423 y = s_cb(i + 3:i:-1) - s_cb(i + 2:i - 1:-1)
1424 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)))
1425 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)))
1426 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)))
1428 y = s_cb(i + 4:i + 1:-1) - s_cb(i + 3:i:-1)
1429 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)))
1430 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)))
1431 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)))
1436 y = s_cb(i - 2:i + 1) - s_cb(i - 3:i)
1437 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) &
1438 + 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 &
1439 + 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)
1440 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 &
1441 + 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 &
1442 + 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 &
1443 + 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 &
1444 + 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)
1445 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 &
1446 + 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)) &
1447 /(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)
1448 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 &
1449 + 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) &
1450 + 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 &
1451 + 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 &
1452 + 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) &
1453 + 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) &
1454 + 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)
1455 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) &
1456 + 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 &
1457 + 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 &
1458 + 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)
1459 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) &
1460 + y(2))**2*(y(1) + y(2) + y(3))**2*(y(1) + y(2) + y(3) + y(4))**2)
1462 y = s_cb(i - 1:i + 2) - s_cb(i - 2:i + 1)
1463 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) &
1464 + y(4))**2*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4))**2)
1465 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 &
1466 + 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 &
1467 - 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 &
1468 - 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)
1469 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) &
1470 + 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)
1471 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 &
1472 + 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) &
1473 - 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 &
1474 + 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 &
1475 + 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 &
1476 + 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)) &
1477 /(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)
1478 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 &
1479 - 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 &
1480 - 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)) &
1481 /(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)
1482 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)
1484 y = s_cb(i:i + 3) - s_cb(i - 1:i + 2)
1485 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)
1486 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) &
1487 + 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 &
1488 + 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)) &
1489 /(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)
1490 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) &
1491 + 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)
1492 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 &
1493 + 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 &
1494 + 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 &
1495 + 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) &
1496 + 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) &
1497 + 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 &
1498 + 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)
1499 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 &
1500 + 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 &
1501 + 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) &
1502 - 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)
1503 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) &
1504 + y(2))**2*(y(1) + y(2) + y(3))**2*(y(1) + y(2) + y(3) + y(4))**2)
1506 y = s_cb(i + 1:i + 4) - s_cb(i:i + 3)
1507 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) &
1508 + y(4))**2*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4))**2)
1509 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 &
1510 + 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) &
1511 + 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 &
1512 + 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)
1513 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 &
1514 + 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)) &
1515 /(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)
1516 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 &
1517 + 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 &
1518 + 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 &
1519 + 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 &
1520 + 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 &
1521 + 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 &
1522 + 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)
1523 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 &
1524 + 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 &
1525 + 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 &
1526 + 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 &
1527 + 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)
1528 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) &
1529 + 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) &
1530 + 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)
1552# 229 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
1554 if (weno_dir == 2)
then
1555 if (weno_order == 3)
then
1556 do i = is%beg - 1 + weno_polyn, is%end - 1 - weno_polyn
1559 (s_cb(i) - s_cb(i + 2))
1561 (s_cb(i - 1) - s_cb(i + 1))
1566 d_cbr_y(0, i + 1) = (s_cb(i - 1) - s_cb(i + 1))/ &
1567 (s_cb(i - 1) - s_cb(i + 2))
1568 d_cbl_y(0, i + 1) = (s_cb(i - 1) - s_cb(i))/ &
1569 (s_cb(i - 1) - s_cb(i + 2))
1574 beta_coef_y(i + 1, 0, 0) = 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp/ &
1575 (s_cb(i) - s_cb(i + 2))**2._wp
1576 beta_coef_y(i + 1, 1, 0) = 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp/ &
1577 (s_cb(i - 1) - s_cb(i + 1))**2._wp
1585 if (null_weights)
then
1586 if (bc_s%beg == bc_riemann_extrap)
then
1591 if (bc_s%end == bc_riemann_extrap)
then
1599 elseif (weno_order == 5)
then
1601 do i = is%beg - 1 + weno_polyn, is%end - 1 - weno_polyn
1604 ((s_cb(i) - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i + 2)))/ &
1605 ((s_cb(i) - s_cb(i + 3))*(s_cb(i + 3) - s_cb(i + 1)))
1607 ((s_cb(i - 1) - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i)))/ &
1608 ((s_cb(i - 1) - s_cb(i + 2))*(s_cb(i + 2) - s_cb(i)))
1610 ((s_cb(i) - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i + 2)))/ &
1611 ((s_cb(i - 1) - s_cb(i + 1))*(s_cb(i - 1) - s_cb(i + 2)))
1613 ((s_cb(i) - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i - 1)))/ &
1614 ((s_cb(i - 2) - s_cb(i))*(s_cb(i - 2) - s_cb(i + 1)))
1616 ((s_cb(i + 1) - s_cb(i))*(s_cb(i) - s_cb(i + 2)))/ &
1617 ((s_cb(i) - s_cb(i + 3))*(s_cb(i + 3) - s_cb(i + 1)))
1619 ((s_cb(i) - s_cb(i - 1))*(s_cb(i) - s_cb(i + 1)))/ &
1620 ((s_cb(i - 1) - s_cb(i + 2))*(s_cb(i) - s_cb(i + 2)))
1622 ((s_cb(i + 1) - s_cb(i))*(s_cb(i) - s_cb(i + 2)))/ &
1623 ((s_cb(i - 1) - s_cb(i + 1))*(s_cb(i - 1) - s_cb(i + 2)))
1625 ((s_cb(i - 1) - s_cb(i))*(s_cb(i) - s_cb(i + 1)))/ &
1626 ((s_cb(i - 2) - s_cb(i))*(s_cb(i - 2) - s_cb(i + 1)))
1629 ((s_cb(i) - s_cb(i + 2)) + (s_cb(i + 1) - s_cb(i + 3)))/ &
1630 ((s_cb(i) - s_cb(i + 2))*(s_cb(i) - s_cb(i + 3)))* &
1631 ((s_cb(i) - s_cb(i + 1)))
1633 ((s_cb(i - 2) - s_cb(i + 1)) + (s_cb(i - 1) - s_cb(i + 1)))/ &
1634 ((s_cb(i - 1) - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i - 2)))* &
1635 ((s_cb(i + 1) - s_cb(i)))
1637 ((s_cb(i) - s_cb(i + 2)) + (s_cb(i) - s_cb(i + 3)))/ &
1638 ((s_cb(i) - s_cb(i + 2))*(s_cb(i) - s_cb(i + 3)))* &
1639 ((s_cb(i + 1) - s_cb(i)))
1641 ((s_cb(i - 2) - s_cb(i)) + (s_cb(i - 1) - s_cb(i + 1)))/ &
1642 ((s_cb(i - 2) - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i - 1)))* &
1643 ((s_cb(i) - s_cb(i + 1)))
1646 ((s_cb(i - 2) - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i - 1)))/ &
1647 ((s_cb(i - 2) - s_cb(i + 3))*(s_cb(i + 3) - s_cb(i - 1)))
1649 ((s_cb(i + 1) - s_cb(i + 2))*(s_cb(i + 1) - s_cb(i + 3)))/ &
1650 ((s_cb(i - 2) - s_cb(i + 2))*(s_cb(i - 2) - s_cb(i + 3)))
1652 ((s_cb(i - 2) - s_cb(i))*(s_cb(i) - s_cb(i - 1)))/ &
1653 ((s_cb(i - 2) - s_cb(i + 3))*(s_cb(i + 3) - s_cb(i - 1)))
1655 ((s_cb(i) - s_cb(i + 2))*(s_cb(i) - s_cb(i + 3)))/ &
1656 ((s_cb(i - 2) - s_cb(i + 2))*(s_cb(i - 2) - s_cb(i + 3)))
1662 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(10._wp*(s_cb(i + 1) - &
1663 s_cb(i))**2._wp + (s_cb(i + 1) - s_cb(i))*(s_cb(i + 2) - &
1664 s_cb(i + 1)) + (s_cb(i + 2) - s_cb(i + 1))**2._wp)/((s_cb(i) - &
1665 s_cb(i + 3))**2._wp*(s_cb(i + 1) - s_cb(i + 3))**2._wp)
1668 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(19._wp*(s_cb(i + 1) - &
1669 s_cb(i))**2._wp - (s_cb(i + 1) - s_cb(i))*(s_cb(i + 3) - &
1670 s_cb(i + 1)) + 2._wp*(s_cb(i + 2) - s_cb(i))*((s_cb(i + 2) - &
1671 s_cb(i)) + (s_cb(i + 3) - s_cb(i + 1))))/((s_cb(i) - &
1672 s_cb(i + 2))*(s_cb(i) - s_cb(i + 3))**2._wp*(s_cb(i + 3) - &
1676 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(10._wp*(s_cb(i + 1) - &
1677 s_cb(i))**2._wp + (s_cb(i + 1) - s_cb(i))*((s_cb(i + 2) - &
1678 s_cb(i)) + (s_cb(i + 3) - s_cb(i + 1))) + ((s_cb(i + 2) - &
1679 s_cb(i)) + (s_cb(i + 3) - s_cb(i + 1)))**2._wp)/((s_cb(i) - &
1680 s_cb(i + 2))**2._wp*(s_cb(i) - s_cb(i + 3))**2._wp)
1683 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(10._wp*(s_cb(i + 1) - &
1684 s_cb(i))**2._wp + (s_cb(i) - s_cb(i - 1))**2._wp + (s_cb(i) - &
1685 s_cb(i - 1))*(s_cb(i + 1) - s_cb(i)))/((s_cb(i - 1) - &
1686 s_cb(i + 2))**2._wp*(s_cb(i) - s_cb(i + 2))**2._wp)
1689 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*((s_cb(i) - &
1690 s_cb(i + 1))*((s_cb(i) - s_cb(i - 1)) + 20._wp*(s_cb(i + 1) - &
1691 s_cb(i))) + (2._wp*(s_cb(i) - s_cb(i - 1)) + (s_cb(i + 1) - &
1692 s_cb(i)))*(s_cb(i + 2) - s_cb(i)))/((s_cb(i + 1) - &
1693 s_cb(i - 1))*(s_cb(i - 1) - s_cb(i + 2))**2._wp*(s_cb(i + 2) - &
1697 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(10._wp*(s_cb(i + 1) - &
1698 s_cb(i))**2._wp + (s_cb(i + 1) - s_cb(i))*(s_cb(i + 2) - &
1699 s_cb(i + 1)) + (s_cb(i + 2) - s_cb(i + 1))**2._wp)/ &
1700 ((s_cb(i - 1) - s_cb(i + 1))**2._wp*(s_cb(i - 1) - &
1701 s_cb(i + 2))**2._wp)
1704 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(12._wp*(s_cb(i + 1) - &
1705 s_cb(i))**2._wp + ((s_cb(i) - s_cb(i - 2)) + (s_cb(i) - &
1706 s_cb(i - 1)))**2._wp + 3._wp*((s_cb(i) - s_cb(i - 2)) + &
1707 (s_cb(i) - s_cb(i - 1)))*(s_cb(i + 1) - s_cb(i)))/ &
1708 ((s_cb(i - 2) - s_cb(i + 1))**2._wp*(s_cb(i - 1) - &
1709 s_cb(i + 1))**2._wp)
1712 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(19._wp*(s_cb(i + 1) - &
1713 s_cb(i))**2._wp + ((s_cb(i) - s_cb(i - 2))*(s_cb(i) - &
1714 s_cb(i + 1))) + 2._wp*(s_cb(i + 1) - s_cb(i - 1))*((s_cb(i) - &
1715 s_cb(i - 2)) + (s_cb(i + 1) - s_cb(i - 1))))/((s_cb(i - 2) - &
1716 s_cb(i))*(s_cb(i - 2) - s_cb(i + 1))**2._wp*(s_cb(i + 1) - &
1720 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(10._wp*(s_cb(i + 1) - &
1721 s_cb(i))**2._wp + (s_cb(i) - s_cb(i - 1))**2._wp + (s_cb(i) - &
1722 s_cb(i - 1))*(s_cb(i + 1) - s_cb(i)))/((s_cb(i - 2) - &
1723 s_cb(i))**2._wp*(s_cb(i - 2) - s_cb(i + 1))**2._wp)
1731 if (null_weights)
then
1732 if (bc_s%beg == bc_riemann_extrap)
then
1739 if (bc_s%end == bc_riemann_extrap)
then
1749 if (.not. teno)
then
1751 do i = is%beg - 1 + weno_polyn, is%end - 1 - weno_polyn
1764 w = s_cb(i - 3:i + 4) - s_cb(i)
1765 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)))
1766 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)))
1767 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)))
1768 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)))
1770 w = s_cb(i + 4:i - 3:-1) - s_cb(i)
1771 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)))
1772 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)))
1773 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)))
1774 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)))
1777 y = s_cb(i + 1:i + 4) - s_cb(i:i + 3)
1778 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)))
1779 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)))
1780 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)))
1782 y = s_cb(i:i + 3) - s_cb(i - 1:i + 2)
1783 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)))
1784 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)))
1785 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)))
1787 y = s_cb(i - 1:i + 2) - s_cb(i - 2:i + 1)
1788 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)))
1789 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)))
1790 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)))
1792 y = s_cb(i - 2:i + 1) - s_cb(i - 3:i)
1793 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)))
1794 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)))
1795 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)))
1797 y = s_cb(i + 1:i - 2:-1) - s_cb(i:i - 3:-1)
1798 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)))
1799 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)))
1800 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)))
1802 y = s_cb(i + 2:i - 1:-1) - s_cb(i + 1:i - 2:-1)
1803 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)))
1804 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)))
1805 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)))
1807 y = s_cb(i + 3:i:-1) - s_cb(i + 2:i - 1:-1)
1808 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)))
1809 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)))
1810 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)))
1812 y = s_cb(i + 4:i + 1:-1) - s_cb(i + 3:i:-1)
1813 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)))
1814 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)))
1815 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)))
1820 y = s_cb(i - 2:i + 1) - s_cb(i - 3:i)
1821 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) &
1822 + 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 &
1823 + 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)
1824 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 &
1825 + 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 &
1826 + 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 &
1827 + 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 &
1828 + 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)
1829 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 &
1830 + 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)) &
1831 /(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)
1832 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 &
1833 + 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) &
1834 + 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 &
1835 + 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 &
1836 + 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) &
1837 + 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) &
1838 + 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)
1839 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) &
1840 + 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 &
1841 + 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 &
1842 + 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)
1843 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) &
1844 + y(2))**2*(y(1) + y(2) + y(3))**2*(y(1) + y(2) + y(3) + y(4))**2)
1846 y = s_cb(i - 1:i + 2) - s_cb(i - 2:i + 1)
1847 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) &
1848 + y(4))**2*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4))**2)
1849 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 &
1850 + 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 &
1851 - 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 &
1852 - 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)
1853 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) &
1854 + 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)
1855 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 &
1856 + 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) &
1857 - 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 &
1858 + 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 &
1859 + 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 &
1860 + 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)) &
1861 /(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)
1862 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 &
1863 - 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 &
1864 - 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)) &
1865 /(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)
1866 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)
1868 y = s_cb(i:i + 3) - s_cb(i - 1:i + 2)
1869 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)
1870 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) &
1871 + 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 &
1872 + 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)) &
1873 /(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)
1874 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) &
1875 + 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)
1876 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 &
1877 + 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 &
1878 + 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 &
1879 + 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) &
1880 + 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) &
1881 + 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 &
1882 + 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)
1883 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 &
1884 + 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 &
1885 + 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) &
1886 - 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)
1887 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) &
1888 + y(2))**2*(y(1) + y(2) + y(3))**2*(y(1) + y(2) + y(3) + y(4))**2)
1890 y = s_cb(i + 1:i + 4) - s_cb(i:i + 3)
1891 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) &
1892 + y(4))**2*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4))**2)
1893 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 &
1894 + 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) &
1895 + 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 &
1896 + 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)
1897 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 &
1898 + 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)) &
1899 /(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)
1900 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 &
1901 + 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 &
1902 + 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 &
1903 + 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 &
1904 + 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 &
1905 + 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 &
1906 + 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)
1907 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 &
1908 + 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 &
1909 + 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 &
1910 + 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 &
1911 + 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)
1912 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) &
1913 + 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) &
1914 + 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)
1936# 229 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
1938 if (weno_dir == 3)
then
1939 if (weno_order == 3)
then
1940 do i = is%beg - 1 + weno_polyn, is%end - 1 - weno_polyn
1943 (s_cb(i) - s_cb(i + 2))
1945 (s_cb(i - 1) - s_cb(i + 1))
1950 d_cbr_z(0, i + 1) = (s_cb(i - 1) - s_cb(i + 1))/ &
1951 (s_cb(i - 1) - s_cb(i + 2))
1952 d_cbl_z(0, i + 1) = (s_cb(i - 1) - s_cb(i))/ &
1953 (s_cb(i - 1) - s_cb(i + 2))
1958 beta_coef_z(i + 1, 0, 0) = 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp/ &
1959 (s_cb(i) - s_cb(i + 2))**2._wp
1960 beta_coef_z(i + 1, 1, 0) = 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp/ &
1961 (s_cb(i - 1) - s_cb(i + 1))**2._wp
1969 if (null_weights)
then
1970 if (bc_s%beg == bc_riemann_extrap)
then
1975 if (bc_s%end == bc_riemann_extrap)
then
1983 elseif (weno_order == 5)
then
1985 do i = is%beg - 1 + weno_polyn, is%end - 1 - weno_polyn
1988 ((s_cb(i) - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i + 2)))/ &
1989 ((s_cb(i) - s_cb(i + 3))*(s_cb(i + 3) - s_cb(i + 1)))
1991 ((s_cb(i - 1) - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i)))/ &
1992 ((s_cb(i - 1) - s_cb(i + 2))*(s_cb(i + 2) - s_cb(i)))
1994 ((s_cb(i) - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i + 2)))/ &
1995 ((s_cb(i - 1) - s_cb(i + 1))*(s_cb(i - 1) - s_cb(i + 2)))
1997 ((s_cb(i) - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i - 1)))/ &
1998 ((s_cb(i - 2) - s_cb(i))*(s_cb(i - 2) - s_cb(i + 1)))
2000 ((s_cb(i + 1) - s_cb(i))*(s_cb(i) - s_cb(i + 2)))/ &
2001 ((s_cb(i) - s_cb(i + 3))*(s_cb(i + 3) - s_cb(i + 1)))
2003 ((s_cb(i) - s_cb(i - 1))*(s_cb(i) - s_cb(i + 1)))/ &
2004 ((s_cb(i - 1) - s_cb(i + 2))*(s_cb(i) - s_cb(i + 2)))
2006 ((s_cb(i + 1) - s_cb(i))*(s_cb(i) - s_cb(i + 2)))/ &
2007 ((s_cb(i - 1) - s_cb(i + 1))*(s_cb(i - 1) - s_cb(i + 2)))
2009 ((s_cb(i - 1) - s_cb(i))*(s_cb(i) - s_cb(i + 1)))/ &
2010 ((s_cb(i - 2) - s_cb(i))*(s_cb(i - 2) - s_cb(i + 1)))
2013 ((s_cb(i) - s_cb(i + 2)) + (s_cb(i + 1) - s_cb(i + 3)))/ &
2014 ((s_cb(i) - s_cb(i + 2))*(s_cb(i) - s_cb(i + 3)))* &
2015 ((s_cb(i) - s_cb(i + 1)))
2017 ((s_cb(i - 2) - s_cb(i + 1)) + (s_cb(i - 1) - s_cb(i + 1)))/ &
2018 ((s_cb(i - 1) - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i - 2)))* &
2019 ((s_cb(i + 1) - s_cb(i)))
2021 ((s_cb(i) - s_cb(i + 2)) + (s_cb(i) - s_cb(i + 3)))/ &
2022 ((s_cb(i) - s_cb(i + 2))*(s_cb(i) - s_cb(i + 3)))* &
2023 ((s_cb(i + 1) - s_cb(i)))
2025 ((s_cb(i - 2) - s_cb(i)) + (s_cb(i - 1) - s_cb(i + 1)))/ &
2026 ((s_cb(i - 2) - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i - 1)))* &
2027 ((s_cb(i) - s_cb(i + 1)))
2030 ((s_cb(i - 2) - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i - 1)))/ &
2031 ((s_cb(i - 2) - s_cb(i + 3))*(s_cb(i + 3) - s_cb(i - 1)))
2033 ((s_cb(i + 1) - s_cb(i + 2))*(s_cb(i + 1) - s_cb(i + 3)))/ &
2034 ((s_cb(i - 2) - s_cb(i + 2))*(s_cb(i - 2) - s_cb(i + 3)))
2036 ((s_cb(i - 2) - s_cb(i))*(s_cb(i) - s_cb(i - 1)))/ &
2037 ((s_cb(i - 2) - s_cb(i + 3))*(s_cb(i + 3) - s_cb(i - 1)))
2039 ((s_cb(i) - s_cb(i + 2))*(s_cb(i) - s_cb(i + 3)))/ &
2040 ((s_cb(i - 2) - s_cb(i + 2))*(s_cb(i - 2) - s_cb(i + 3)))
2046 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(10._wp*(s_cb(i + 1) - &
2047 s_cb(i))**2._wp + (s_cb(i + 1) - s_cb(i))*(s_cb(i + 2) - &
2048 s_cb(i + 1)) + (s_cb(i + 2) - s_cb(i + 1))**2._wp)/((s_cb(i) - &
2049 s_cb(i + 3))**2._wp*(s_cb(i + 1) - s_cb(i + 3))**2._wp)
2052 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(19._wp*(s_cb(i + 1) - &
2053 s_cb(i))**2._wp - (s_cb(i + 1) - s_cb(i))*(s_cb(i + 3) - &
2054 s_cb(i + 1)) + 2._wp*(s_cb(i + 2) - s_cb(i))*((s_cb(i + 2) - &
2055 s_cb(i)) + (s_cb(i + 3) - s_cb(i + 1))))/((s_cb(i) - &
2056 s_cb(i + 2))*(s_cb(i) - s_cb(i + 3))**2._wp*(s_cb(i + 3) - &
2060 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(10._wp*(s_cb(i + 1) - &
2061 s_cb(i))**2._wp + (s_cb(i + 1) - s_cb(i))*((s_cb(i + 2) - &
2062 s_cb(i)) + (s_cb(i + 3) - s_cb(i + 1))) + ((s_cb(i + 2) - &
2063 s_cb(i)) + (s_cb(i + 3) - s_cb(i + 1)))**2._wp)/((s_cb(i) - &
2064 s_cb(i + 2))**2._wp*(s_cb(i) - s_cb(i + 3))**2._wp)
2067 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(10._wp*(s_cb(i + 1) - &
2068 s_cb(i))**2._wp + (s_cb(i) - s_cb(i - 1))**2._wp + (s_cb(i) - &
2069 s_cb(i - 1))*(s_cb(i + 1) - s_cb(i)))/((s_cb(i - 1) - &
2070 s_cb(i + 2))**2._wp*(s_cb(i) - s_cb(i + 2))**2._wp)
2073 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*((s_cb(i) - &
2074 s_cb(i + 1))*((s_cb(i) - s_cb(i - 1)) + 20._wp*(s_cb(i + 1) - &
2075 s_cb(i))) + (2._wp*(s_cb(i) - s_cb(i - 1)) + (s_cb(i + 1) - &
2076 s_cb(i)))*(s_cb(i + 2) - s_cb(i)))/((s_cb(i + 1) - &
2077 s_cb(i - 1))*(s_cb(i - 1) - s_cb(i + 2))**2._wp*(s_cb(i + 2) - &
2081 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(10._wp*(s_cb(i + 1) - &
2082 s_cb(i))**2._wp + (s_cb(i + 1) - s_cb(i))*(s_cb(i + 2) - &
2083 s_cb(i + 1)) + (s_cb(i + 2) - s_cb(i + 1))**2._wp)/ &
2084 ((s_cb(i - 1) - s_cb(i + 1))**2._wp*(s_cb(i - 1) - &
2085 s_cb(i + 2))**2._wp)
2088 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(12._wp*(s_cb(i + 1) - &
2089 s_cb(i))**2._wp + ((s_cb(i) - s_cb(i - 2)) + (s_cb(i) - &
2090 s_cb(i - 1)))**2._wp + 3._wp*((s_cb(i) - s_cb(i - 2)) + &
2091 (s_cb(i) - s_cb(i - 1)))*(s_cb(i + 1) - s_cb(i)))/ &
2092 ((s_cb(i - 2) - s_cb(i + 1))**2._wp*(s_cb(i - 1) - &
2093 s_cb(i + 1))**2._wp)
2096 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(19._wp*(s_cb(i + 1) - &
2097 s_cb(i))**2._wp + ((s_cb(i) - s_cb(i - 2))*(s_cb(i) - &
2098 s_cb(i + 1))) + 2._wp*(s_cb(i + 1) - s_cb(i - 1))*((s_cb(i) - &
2099 s_cb(i - 2)) + (s_cb(i + 1) - s_cb(i - 1))))/((s_cb(i - 2) - &
2100 s_cb(i))*(s_cb(i - 2) - s_cb(i + 1))**2._wp*(s_cb(i + 1) - &
2104 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(10._wp*(s_cb(i + 1) - &
2105 s_cb(i))**2._wp + (s_cb(i) - s_cb(i - 1))**2._wp + (s_cb(i) - &
2106 s_cb(i - 1))*(s_cb(i + 1) - s_cb(i)))/((s_cb(i - 2) - &
2107 s_cb(i))**2._wp*(s_cb(i - 2) - s_cb(i + 1))**2._wp)
2115 if (null_weights)
then
2116 if (bc_s%beg == bc_riemann_extrap)
then
2123 if (bc_s%end == bc_riemann_extrap)
then
2133 if (.not. teno)
then
2135 do i = is%beg - 1 + weno_polyn, is%end - 1 - weno_polyn
2148 w = s_cb(i - 3:i + 4) - s_cb(i)
2149 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)))
2150 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)))
2151 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)))
2152 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)))
2154 w = s_cb(i + 4:i - 3:-1) - s_cb(i)
2155 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)))
2156 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)))
2157 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)))
2158 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)))
2161 y = s_cb(i + 1:i + 4) - s_cb(i:i + 3)
2162 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)))
2163 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)))
2164 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)))
2166 y = s_cb(i:i + 3) - s_cb(i - 1:i + 2)
2167 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)))
2168 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)))
2169 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)))
2171 y = s_cb(i - 1:i + 2) - s_cb(i - 2:i + 1)
2172 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)))
2173 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)))
2174 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)))
2176 y = s_cb(i - 2:i + 1) - s_cb(i - 3:i)
2177 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)))
2178 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)))
2179 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)))
2181 y = s_cb(i + 1:i - 2:-1) - s_cb(i:i - 3:-1)
2182 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)))
2183 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)))
2184 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)))
2186 y = s_cb(i + 2:i - 1:-1) - s_cb(i + 1:i - 2:-1)
2187 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)))
2188 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)))
2189 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)))
2191 y = s_cb(i + 3:i:-1) - s_cb(i + 2:i - 1:-1)
2192 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)))
2193 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)))
2194 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)))
2196 y = s_cb(i + 4:i + 1:-1) - s_cb(i + 3:i:-1)
2197 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)))
2198 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)))
2199 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)))
2204 y = s_cb(i - 2:i + 1) - s_cb(i - 3:i)
2205 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) &
2206 + 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 &
2207 + 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)
2208 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 &
2209 + 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 &
2210 + 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 &
2211 + 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 &
2212 + 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)
2213 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 &
2214 + 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)) &
2215 /(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)
2216 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 &
2217 + 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) &
2218 + 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 &
2219 + 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 &
2220 + 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) &
2221 + 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) &
2222 + 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)
2223 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) &
2224 + 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 &
2225 + 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 &
2226 + 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)
2227 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) &
2228 + y(2))**2*(y(1) + y(2) + y(3))**2*(y(1) + y(2) + y(3) + y(4))**2)
2230 y = s_cb(i - 1:i + 2) - s_cb(i - 2:i + 1)
2231 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) &
2232 + y(4))**2*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4))**2)
2233 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 &
2234 + 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 &
2235 - 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 &
2236 - 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)
2237 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) &
2238 + 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)
2239 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 &
2240 + 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) &
2241 - 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 &
2242 + 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 &
2243 + 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 &
2244 + 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)) &
2245 /(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)
2246 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 &
2247 - 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 &
2248 - 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)) &
2249 /(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)
2250 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)
2252 y = s_cb(i:i + 3) - s_cb(i - 1:i + 2)
2253 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)
2254 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) &
2255 + 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 &
2256 + 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)) &
2257 /(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)
2258 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) &
2259 + 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)
2260 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 &
2261 + 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 &
2262 + 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 &
2263 + 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) &
2264 + 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) &
2265 + 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 &
2266 + 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)
2267 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 &
2268 + 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 &
2269 + 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) &
2270 - 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)
2271 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) &
2272 + y(2))**2*(y(1) + y(2) + y(3))**2*(y(1) + y(2) + y(3) + y(4))**2)
2274 y = s_cb(i + 1:i + 4) - s_cb(i:i + 3)
2275 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) &
2276 + y(4))**2*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4))**2)
2277 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 &
2278 + 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) &
2279 + 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 &
2280 + 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)
2281 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 &
2282 + 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)) &
2283 /(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)
2284 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 &
2285 + 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 &
2286 + 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 &
2287 + 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 &
2288 + 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 &
2289 + 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 &
2290 + 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)
2291 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 &
2292 + 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 &
2293 + 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 &
2294 + 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 &
2295 + 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)
2296 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) &
2297 + 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) &
2298 + 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)
2320# 613 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2322 if (weno_dir == 1)
then
2324# 615 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2325#if defined(MFC_OpenACC)
2326# 615 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2328# 615 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2329#elif defined(MFC_OpenMP)
2330# 615 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2332# 615 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2334 elseif (weno_dir == 2)
then
2336# 617 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2337#if defined(MFC_OpenACC)
2338# 617 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2340# 617 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2341#elif defined(MFC_OpenMP)
2342# 617 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2344# 617 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2348# 619 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2349#if defined(MFC_OpenACC)
2350# 619 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2352# 619 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2353#elif defined(MFC_OpenMP)
2354# 619 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2356# 619 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2367 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, &
2369 is1_weno_d, is2_weno_d, is3_weno_d)
2371 type(scalar_field),
dimension(1:),
intent(in) :: v_vf
2372 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
2373 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
2374 integer,
intent(in) :: weno_dir
2375 type(int_bounds_info),
intent(in) :: is1_weno_d, is2_weno_d, is3_weno_d
2377# 647 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2378 real(wp),
dimension(-weno_polyn:weno_polyn - 1) :: dvd
2379 real(wp),
dimension(0:weno_num_stencils) :: poly
2380 real(wp),
dimension(0:weno_num_stencils) :: alpha
2381 real(wp),
dimension(0:weno_num_stencils) :: omega
2382 real(wp),
dimension(0:weno_num_stencils) :: beta
2383 real(wp),
dimension(0:weno_num_stencils) :: delta
2384# 654 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2385 real(wp),
dimension(-3:3) :: v
2388 integer :: i,
j,
k,
l, q
2395# 663 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2396#if defined(MFC_OpenACC)
2397# 663 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2399# 663 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2400#elif defined(MFC_OpenMP)
2401# 663 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2403# 663 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2406 if (weno_order /= 1 .or. dummy)
then
2411 if (weno_order == 1 .or. dummy)
then
2412 if (weno_dir == 1)
then
2414# 672 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2416# 672 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2417#if defined(MFC_OpenACC)
2418# 672 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2420# 672 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2421#elif defined(MFC_OpenMP)
2422# 672 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
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 do i = 1, ubound(v_vf, 1)
2438 vl_rs_vf_x(
j,
k,
l, i) = v_vf(i)%sf(
j,
k,
l)
2439 vr_rs_vf_x(
j,
k,
l, i) = v_vf(i)%sf(
j,
k,
l)
2445# 683 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2447# 683 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2448#if defined(MFC_OpenACC)
2449# 683 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2451# 683 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2452#elif defined(MFC_OpenMP)
2453# 683 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
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 else if (weno_dir == 2)
then
2465# 685 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2467# 685 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2468#if defined(MFC_OpenACC)
2469# 685 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2471# 685 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2472#elif defined(MFC_OpenMP)
2473# 685 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
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 do i = 1, ubound(v_vf, 1)
2489 vl_rs_vf_y(
j,
k,
l, i) = v_vf(i)%sf(
k,
j,
l)
2490 vr_rs_vf_y(
j,
k,
l, i) = v_vf(i)%sf(
k,
j,
l)
2496# 696 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2498# 696 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2499#if defined(MFC_OpenACC)
2500# 696 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2502# 696 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2503#elif defined(MFC_OpenMP)
2504# 696 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
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 else if (weno_dir == 3)
then
2516# 698 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2518# 698 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2519#if defined(MFC_OpenACC)
2520# 698 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2522# 698 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2523#elif defined(MFC_OpenMP)
2524# 698 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
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 do i = 1, ubound(v_vf, 1)
2540 vl_rs_vf_z(
j,
k,
l, i) = v_vf(i)%sf(
l,
k,
j)
2541 vr_rs_vf_z(
j,
k,
l, i) = v_vf(i)%sf(
l,
k,
j)
2547# 709 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2549# 709 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2550#if defined(MFC_OpenACC)
2551# 709 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2553# 709 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2554#elif defined(MFC_OpenMP)
2555# 709 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
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"
2567 if (weno_order == 3 .or. dummy)
then
2568# 714 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2569 if (weno_dir == 1)
then
2571# 715 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2573# 715 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2574#if defined(MFC_OpenACC)
2575# 715 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2577# 715 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2578#elif defined(MFC_OpenMP)
2579# 715 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
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"
2617 alpha(0:weno_num_stencils) =
d_cbl_x(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
2619 elseif (mapped_weno)
then
2620 alpha(0:weno_num_stencils) =
d_cbl_x(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
2621 omega = alpha/sum(alpha)
2622 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) &
2623 *(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))))
2628 tau = abs(beta(1) - beta(0))
2629 alpha(0:weno_num_stencils) =
d_cbl_x(0:weno_num_stencils,
j)*(1._wp + tau/beta(0:weno_num_stencils))
2633 omega = alpha/sum(alpha)
2635 vl_rs_vf_x(
j,
k,
l, i) = omega(0)*poly(0) + omega(1)*poly(1)
2645 alpha(0:weno_num_stencils) =
d_cbr_x(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
2647 elseif (mapped_weno)
then
2648 alpha(0:weno_num_stencils) =
d_cbr_x(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
2649 omega = alpha/sum(alpha)
2650 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) &
2651 *(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))))
2655 alpha(0:weno_num_stencils) =
d_cbr_x(0:weno_num_stencils,
j)*(1._wp + tau/beta(0:weno_num_stencils))
2659 omega = alpha/sum(alpha)
2661 vr_rs_vf_x(
j,
k,
l, i) = omega(0)*poly(0) + omega(1)*poly(1)
2668# 792 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2670# 792 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2671#if defined(MFC_OpenACC)
2672# 792 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2674# 792 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2675#elif defined(MFC_OpenMP)
2676# 792 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
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"
2687# 714 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2688 if (weno_dir == 2)
then
2690# 715 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2692# 715 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2693#if defined(MFC_OpenACC)
2694# 715 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2696# 715 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2697#elif defined(MFC_OpenMP)
2698# 715 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
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"
2736 alpha(0:weno_num_stencils) =
d_cbl_y(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
2738 elseif (mapped_weno)
then
2739 alpha(0:weno_num_stencils) =
d_cbl_y(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
2740 omega = alpha/sum(alpha)
2741 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) &
2742 *(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))))
2747 tau = abs(beta(1) - beta(0))
2748 alpha(0:weno_num_stencils) =
d_cbl_y(0:weno_num_stencils,
j)*(1._wp + tau/beta(0:weno_num_stencils))
2752 omega = alpha/sum(alpha)
2754 vl_rs_vf_y(
j,
k,
l, i) = omega(0)*poly(0) + omega(1)*poly(1)
2764 alpha(0:weno_num_stencils) =
d_cbr_y(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
2766 elseif (mapped_weno)
then
2767 alpha(0:weno_num_stencils) =
d_cbr_y(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
2768 omega = alpha/sum(alpha)
2769 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) &
2770 *(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))))
2774 alpha(0:weno_num_stencils) =
d_cbr_y(0:weno_num_stencils,
j)*(1._wp + tau/beta(0:weno_num_stencils))
2778 omega = alpha/sum(alpha)
2780 vr_rs_vf_y(
j,
k,
l, i) = omega(0)*poly(0) + omega(1)*poly(1)
2787# 792 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2789# 792 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2790#if defined(MFC_OpenACC)
2791# 792 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2793# 792 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2794#elif defined(MFC_OpenMP)
2795# 792 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
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"
2806# 714 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2807 if (weno_dir == 3)
then
2809# 715 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2811# 715 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2812#if defined(MFC_OpenACC)
2813# 715 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2815# 715 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2816#elif defined(MFC_OpenMP)
2817# 715 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
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"
2855 alpha(0:weno_num_stencils) =
d_cbl_z(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
2857 elseif (mapped_weno)
then
2858 alpha(0:weno_num_stencils) =
d_cbl_z(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
2859 omega = alpha/sum(alpha)
2860 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) &
2861 *(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))))
2866 tau = abs(beta(1) - beta(0))
2867 alpha(0:weno_num_stencils) =
d_cbl_z(0:weno_num_stencils,
j)*(1._wp + tau/beta(0:weno_num_stencils))
2871 omega = alpha/sum(alpha)
2873 vl_rs_vf_z(
j,
k,
l, i) = omega(0)*poly(0) + omega(1)*poly(1)
2883 alpha(0:weno_num_stencils) =
d_cbr_z(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
2885 elseif (mapped_weno)
then
2886 alpha(0:weno_num_stencils) =
d_cbr_z(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
2887 omega = alpha/sum(alpha)
2888 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) &
2889 *(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))))
2893 alpha(0:weno_num_stencils) =
d_cbr_z(0:weno_num_stencils,
j)*(1._wp + tau/beta(0:weno_num_stencils))
2897 omega = alpha/sum(alpha)
2899 vr_rs_vf_z(
j,
k,
l, i) = omega(0)*poly(0) + omega(1)*poly(1)
2906# 792 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2908# 792 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2909#if defined(MFC_OpenACC)
2910# 792 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2912# 792 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2913#elif defined(MFC_OpenMP)
2914# 792 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
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"
2925# 795 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2927 if (weno_order == 5 .or. dummy)
then
2928# 798 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2929# 799 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2930 if (weno_dir == 1)
then
2932# 800 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2934# 800 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2935#if defined(MFC_OpenACC)
2936# 800 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2938# 800 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2939#elif defined(MFC_OpenMP)
2940# 800 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
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"
2956# 804 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2957#if defined(MFC_OpenACC)
2958# 804 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2960# 804 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2961#elif defined(MFC_OpenMP)
2962# 804 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2964# 804 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3007 alpha(0:weno_num_stencils) =
d_cbl_x(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
3009 elseif (mapped_weno)
then
3010 alpha(0:weno_num_stencils) =
d_cbl_x(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
3011 omega = alpha/sum(alpha)
3012 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) &
3013 *(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))))
3019 tau = abs(beta(2) - beta(0))
3021# 859 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3022#if defined(MFC_OpenACC)
3023# 859 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3025# 859 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3026#elif defined(MFC_OpenMP)
3027# 859 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3029# 859 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3031 do q = 0, weno_num_stencils
3032 alpha(q) =
d_cbl_x(q,
j)*(1._wp + (tau/beta(q)))
3038 tau = abs(beta(2) - beta(0))
3040# 868 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3041#if defined(MFC_OpenACC)
3042# 868 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3044# 868 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3045#elif defined(MFC_OpenMP)
3046# 868 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3048# 868 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3050 do q = 0, weno_num_stencils
3051 alpha(q) = 1._wp + tau/beta(q)
3052 alpha(q) = (alpha(q)**3._wp)**2._wp
3054 omega = alpha/sum(alpha)
3057# 875 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3058#if defined(MFC_OpenACC)
3059# 875 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3061# 875 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3062#elif defined(MFC_OpenMP)
3063# 875 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3065# 875 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3067 do q = 0, weno_num_stencils
3068 if (omega(q) < teno_ct)
then
3077 omega = alpha/sum(alpha)
3079 vl_rs_vf_x(
j,
k,
l, i) = omega(0)*poly(0) + omega(1)*poly(1) + omega(2)*poly(2)
3094 alpha(0:weno_num_stencils) =
d_cbr_x(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
3096 elseif (mapped_weno)
then
3097 alpha(0:weno_num_stencils) =
d_cbr_x(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
3098 omega = alpha/sum(alpha)
3099 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) &
3100 *(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))))
3105# 913 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3106#if defined(MFC_OpenACC)
3107# 913 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3109# 913 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3110#elif defined(MFC_OpenMP)
3111# 913 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3113# 913 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3115 do q = 0, weno_num_stencils
3116 alpha(q) =
d_cbr_x(q,
j)*(1._wp + (tau/beta(q)))
3121# 919 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3122#if defined(MFC_OpenACC)
3123# 919 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3125# 919 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3126#elif defined(MFC_OpenMP)
3127# 919 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3129# 919 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3131 do q = 0, weno_num_stencils
3136 omega = alpha/sum(alpha)
3138 vr_rs_vf_x(
j,
k,
l, i) = omega(0)*poly(0) + omega(1)*poly(1) + omega(2)*poly(2)
3145# 933 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3147# 933 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3148#if defined(MFC_OpenACC)
3149# 933 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3151# 933 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3152#elif defined(MFC_OpenMP)
3153# 933 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
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"
3169# 799 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3170 if (weno_dir == 2)
then
3172# 800 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3174# 800 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3175#if defined(MFC_OpenACC)
3176# 800 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3178# 800 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3179#elif defined(MFC_OpenMP)
3180# 800 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
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"
3196# 804 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3197#if defined(MFC_OpenACC)
3198# 804 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3200# 804 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3201#elif defined(MFC_OpenMP)
3202# 804 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3204# 804 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3247 alpha(0:weno_num_stencils) =
d_cbl_y(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
3249 elseif (mapped_weno)
then
3250 alpha(0:weno_num_stencils) =
d_cbl_y(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
3251 omega = alpha/sum(alpha)
3252 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) &
3253 *(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))))
3259 tau = abs(beta(2) - beta(0))
3261# 859 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3262#if defined(MFC_OpenACC)
3263# 859 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3265# 859 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3266#elif defined(MFC_OpenMP)
3267# 859 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3269# 859 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3271 do q = 0, weno_num_stencils
3272 alpha(q) =
d_cbl_y(q,
j)*(1._wp + (tau/beta(q)))
3278 tau = abs(beta(2) - beta(0))
3280# 868 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3281#if defined(MFC_OpenACC)
3282# 868 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3284# 868 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3285#elif defined(MFC_OpenMP)
3286# 868 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3288# 868 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3290 do q = 0, weno_num_stencils
3291 alpha(q) = 1._wp + tau/beta(q)
3292 alpha(q) = (alpha(q)**3._wp)**2._wp
3294 omega = alpha/sum(alpha)
3297# 875 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3298#if defined(MFC_OpenACC)
3299# 875 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3301# 875 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3302#elif defined(MFC_OpenMP)
3303# 875 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3305# 875 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3307 do q = 0, weno_num_stencils
3308 if (omega(q) < teno_ct)
then
3317 omega = alpha/sum(alpha)
3319 vl_rs_vf_y(
j,
k,
l, i) = omega(0)*poly(0) + omega(1)*poly(1) + omega(2)*poly(2)
3334 alpha(0:weno_num_stencils) =
d_cbr_y(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
3336 elseif (mapped_weno)
then
3337 alpha(0:weno_num_stencils) =
d_cbr_y(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
3338 omega = alpha/sum(alpha)
3339 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) &
3340 *(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))))
3345# 913 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3346#if defined(MFC_OpenACC)
3347# 913 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3349# 913 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3350#elif defined(MFC_OpenMP)
3351# 913 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3353# 913 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3355 do q = 0, weno_num_stencils
3356 alpha(q) =
d_cbr_y(q,
j)*(1._wp + (tau/beta(q)))
3361# 919 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3362#if defined(MFC_OpenACC)
3363# 919 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3365# 919 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3366#elif defined(MFC_OpenMP)
3367# 919 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3369# 919 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3371 do q = 0, weno_num_stencils
3376 omega = alpha/sum(alpha)
3378 vr_rs_vf_y(
j,
k,
l, i) = omega(0)*poly(0) + omega(1)*poly(1) + omega(2)*poly(2)
3385# 933 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3387# 933 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3388#if defined(MFC_OpenACC)
3389# 933 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3391# 933 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3392#elif defined(MFC_OpenMP)
3393# 933 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
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"
3409# 799 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3410 if (weno_dir == 3)
then
3412# 800 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3414# 800 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3415#if defined(MFC_OpenACC)
3416# 800 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3418# 800 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3419#elif defined(MFC_OpenMP)
3420# 800 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
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"
3436# 804 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3437#if defined(MFC_OpenACC)
3438# 804 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3440# 804 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3441#elif defined(MFC_OpenMP)
3442# 804 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3444# 804 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3487 alpha(0:weno_num_stencils) =
d_cbl_z(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
3489 elseif (mapped_weno)
then
3490 alpha(0:weno_num_stencils) =
d_cbl_z(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
3491 omega = alpha/sum(alpha)
3492 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) &
3493 *(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))))
3499 tau = abs(beta(2) - beta(0))
3501# 859 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3502#if defined(MFC_OpenACC)
3503# 859 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3505# 859 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3506#elif defined(MFC_OpenMP)
3507# 859 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3509# 859 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3511 do q = 0, weno_num_stencils
3512 alpha(q) =
d_cbl_z(q,
j)*(1._wp + (tau/beta(q)))
3518 tau = abs(beta(2) - beta(0))
3520# 868 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3521#if defined(MFC_OpenACC)
3522# 868 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3524# 868 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3525#elif defined(MFC_OpenMP)
3526# 868 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3528# 868 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3530 do q = 0, weno_num_stencils
3531 alpha(q) = 1._wp + tau/beta(q)
3532 alpha(q) = (alpha(q)**3._wp)**2._wp
3534 omega = alpha/sum(alpha)
3537# 875 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3538#if defined(MFC_OpenACC)
3539# 875 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3541# 875 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3542#elif defined(MFC_OpenMP)
3543# 875 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3545# 875 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3547 do q = 0, weno_num_stencils
3548 if (omega(q) < teno_ct)
then
3557 omega = alpha/sum(alpha)
3559 vl_rs_vf_z(
j,
k,
l, i) = omega(0)*poly(0) + omega(1)*poly(1) + omega(2)*poly(2)
3574 alpha(0:weno_num_stencils) =
d_cbr_z(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
3576 elseif (mapped_weno)
then
3577 alpha(0:weno_num_stencils) =
d_cbr_z(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
3578 omega = alpha/sum(alpha)
3579 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) &
3580 *(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))))
3585# 913 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3586#if defined(MFC_OpenACC)
3587# 913 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3589# 913 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3590#elif defined(MFC_OpenMP)
3591# 913 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3593# 913 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3595 do q = 0, weno_num_stencils
3596 alpha(q) =
d_cbr_z(q,
j)*(1._wp + (tau/beta(q)))
3601# 919 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3602#if defined(MFC_OpenACC)
3603# 919 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3605# 919 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3606#elif defined(MFC_OpenMP)
3607# 919 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3609# 919 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3611 do q = 0, weno_num_stencils
3616 omega = alpha/sum(alpha)
3618 vr_rs_vf_z(
j,
k,
l, i) = omega(0)*poly(0) + omega(1)*poly(1) + omega(2)*poly(2)
3625# 933 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3627# 933 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3628#if defined(MFC_OpenACC)
3629# 933 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3631# 933 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3632#elif defined(MFC_OpenMP)
3633# 933 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
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"
3649# 941 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3650# 942 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3652 if (weno_order == 7 .or. dummy)
then
3653# 945 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3654# 946 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3655 if (weno_dir == 1)
then
3657# 947 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3659# 947 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3660#if defined(MFC_OpenACC)
3661# 947 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3663# 947 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3664#elif defined(MFC_OpenMP)
3665# 947 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
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"
3681# 951 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3682#if defined(MFC_OpenACC)
3683# 951 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3685# 951 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3686#elif defined(MFC_OpenMP)
3687# 951 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3689# 951 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3700 if (.not. teno)
then
3732# 994 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3738 poly(0) = ( 2._wp*v(-1) + 5._wp*v( 0) - 1._wp*v( 1)) / 6._wp
3739 poly(1) = (11._wp*v( 0) - 7._wp*v( 1) + 2._wp*v( 2)) / 6._wp
3740 poly(2) = (-1._wp*v(-2) + 5._wp*v(-1) + 2._wp*v( 0)) / 6._wp
3741 poly(3) = (25._wp*v( 0) - 23._wp*v( 1) + 13._wp*v( 2) - 3._wp*v( 3)) / 12._wp
3742 poly(4) = ( 1._wp*v(-3) - 5._wp*v(-2) + 13._wp*v(-1) + 3._wp*v( 0)) / 12._wp
3743# 1005 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3746 if (.not. teno)
then
3781# 1043 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3783 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
3784 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
3785 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
3787 beta(3) = ( v( 0)*(2107._wp*v( 0) - 9402._wp*v( 1) + 7042._wp*v( 2) - 1854._wp*v( 3)) &
3788 + v( 1)*( 11003._wp*v( 1) - 17246._wp*v( 2) + 4642._wp*v( 3)) &
3789 + v( 2)*( 7043._wp*v( 2) - 3882._wp*v( 3)) &
3790 + v( 3)*( 547._wp*v( 3)) ) / 240._wp &
3793 beta(4) = ( v(-3)*(547._wp*v(-3) - 3882._wp*v(-2) + 4642._wp*v(-1) - 1854._wp*v( 0)) &
3794 + v(-2)*( 7043._wp*v(-2) - 17246._wp*v(-1) + 7042._wp*v( 0)) &
3795 + v(-1)*( 11003._wp*v(-1) - 9402._wp*v( 0)) &
3796 + v( 0)*( 2107._wp*v( 0)) ) / 240._wp &
3798# 1060 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3802 alpha(0:weno_num_stencils) =
d_cbl_x(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
3804 elseif (mapped_weno)
then
3805 alpha(0:weno_num_stencils) =
d_cbl_x(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
3806 omega = alpha/sum(alpha)
3807 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) &
3808 *(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))))
3813 tau = abs(beta(3) - beta(0))
3815# 1075 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3816#if defined(MFC_OpenACC)
3817# 1075 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3819# 1075 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3820#elif defined(MFC_OpenMP)
3821# 1075 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3823# 1075 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3825 do q = 0, weno_num_stencils
3826 alpha(q) =
d_cbl_x(q,
j)*(1._wp + (tau/beta(q))**wenoz_q)
3830# 1082 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3831 tau = abs(beta(4) - beta(3))
3832 alpha = 1._wp + tau/beta
3833 alpha = (alpha**3._wp)**2._wp
3834 omega = alpha/sum(alpha)
3837# 1087 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3838#if defined(MFC_OpenACC)
3839# 1087 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3841# 1087 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3842#elif defined(MFC_OpenMP)
3843# 1087 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3845# 1087 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3847 do q = 0, weno_num_stencils
3848 if (omega(q) < teno_ct)
then
3855# 1097 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3858 omega = alpha/sum(alpha)
3860 vl_rs_vf_x(
j,
k,
l, i) = omega(0)*poly(0) + omega(1)*poly(1) + omega(2)*poly(2) + omega(3)*poly(3)
3863# 1105 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3864 vl_rs_vf_x(
j,
k,
l, i) = vl_rs_vf_x(
j,
k,
l, i) + omega(4)*poly(4)
3865# 1107 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3868 if (.not. teno)
then
3886# 1128 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3887 poly(0) = (-1._wp*v(-1) + 5._wp*v( 0) + 2._wp*v( 1)) / 6._wp
3888 poly(1) = ( 2._wp*v( 0) + 5._wp*v( 1) - 1._wp*v( 2)) / 6._wp
3889 poly(2) = ( 2._wp*v(-2) - 7._wp*v(-1) + 11._wp*v( 0)) / 6._wp
3890 poly(3) = ( 3._wp*v( 0) + 13._wp*v( 1) - 5._wp*v( 2) + 1._wp*v( 3)) / 12._wp
3891 poly(4) = (-3._wp*v(-3) + 13._wp*v(-2) - 23._wp*v(-1) + 25._wp*v( 0)) / 12._wp
3892# 1134 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3896 alpha(0:weno_num_stencils) =
d_cbr_x(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
3898 elseif (mapped_weno)
then
3899 alpha(0:weno_num_stencils) =
d_cbr_x(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
3900 omega = alpha/sum(alpha)
3901 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) &
3902 *(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))))
3907# 1147 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3908#if defined(MFC_OpenACC)
3909# 1147 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3911# 1147 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3912#elif defined(MFC_OpenMP)
3913# 1147 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3915# 1147 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3917 do q = 0, weno_num_stencils
3918 alpha(q) =
d_cbr_x(q,
j)*(1._wp + (tau/beta(q))**wenoz_q)
3923# 1153 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3924#if defined(MFC_OpenACC)
3925# 1153 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3927# 1153 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3928#elif defined(MFC_OpenMP)
3929# 1153 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3931# 1153 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3933 do q = 0, weno_num_stencils
3938 omega = alpha/sum(alpha)
3940 vr_rs_vf_x(
j,
k,
l, i) = omega(0)*poly(0) + omega(1)*poly(1) + omega(2)*poly(2) + omega(3)*poly(3)
3943# 1165 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3944 vr_rs_vf_x(
j,
k,
l, i) = vr_rs_vf_x(
j,
k,
l, i) + omega(4)*poly(4)
3945# 1167 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3953# 1173 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3955# 1173 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3956#if defined(MFC_OpenACC)
3957# 1173 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3959# 1173 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3960#elif defined(MFC_OpenMP)
3961# 1173 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
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"
3972# 946 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3973 if (weno_dir == 2)
then
3975# 947 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3977# 947 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3978#if defined(MFC_OpenACC)
3979# 947 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3981# 947 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3982#elif defined(MFC_OpenMP)
3983# 947 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
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"
3999# 951 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4000#if defined(MFC_OpenACC)
4001# 951 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4003# 951 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4004#elif defined(MFC_OpenMP)
4005# 951 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4007# 951 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4018 if (.not. teno)
then
4050# 994 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4056 poly(0) = ( 2._wp*v(-1) + 5._wp*v( 0) - 1._wp*v( 1)) / 6._wp
4057 poly(1) = (11._wp*v( 0) - 7._wp*v( 1) + 2._wp*v( 2)) / 6._wp
4058 poly(2) = (-1._wp*v(-2) + 5._wp*v(-1) + 2._wp*v( 0)) / 6._wp
4059 poly(3) = (25._wp*v( 0) - 23._wp*v( 1) + 13._wp*v( 2) - 3._wp*v( 3)) / 12._wp
4060 poly(4) = ( 1._wp*v(-3) - 5._wp*v(-2) + 13._wp*v(-1) + 3._wp*v( 0)) / 12._wp
4061# 1005 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4064 if (.not. teno)
then
4099# 1043 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4101 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
4102 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
4103 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
4105 beta(3) = ( v( 0)*(2107._wp*v( 0) - 9402._wp*v( 1) + 7042._wp*v( 2) - 1854._wp*v( 3)) &
4106 + v( 1)*( 11003._wp*v( 1) - 17246._wp*v( 2) + 4642._wp*v( 3)) &
4107 + v( 2)*( 7043._wp*v( 2) - 3882._wp*v( 3)) &
4108 + v( 3)*( 547._wp*v( 3)) ) / 240._wp &
4111 beta(4) = ( v(-3)*(547._wp*v(-3) - 3882._wp*v(-2) + 4642._wp*v(-1) - 1854._wp*v( 0)) &
4112 + v(-2)*( 7043._wp*v(-2) - 17246._wp*v(-1) + 7042._wp*v( 0)) &
4113 + v(-1)*( 11003._wp*v(-1) - 9402._wp*v( 0)) &
4114 + v( 0)*( 2107._wp*v( 0)) ) / 240._wp &
4116# 1060 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4120 alpha(0:weno_num_stencils) =
d_cbl_y(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
4122 elseif (mapped_weno)
then
4123 alpha(0:weno_num_stencils) =
d_cbl_y(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
4124 omega = alpha/sum(alpha)
4125 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) &
4126 *(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))))
4131 tau = abs(beta(3) - beta(0))
4133# 1075 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4134#if defined(MFC_OpenACC)
4135# 1075 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4137# 1075 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4138#elif defined(MFC_OpenMP)
4139# 1075 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4141# 1075 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4143 do q = 0, weno_num_stencils
4144 alpha(q) =
d_cbl_y(q,
j)*(1._wp + (tau/beta(q))**wenoz_q)
4148# 1082 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4149 tau = abs(beta(4) - beta(3))
4150 alpha = 1._wp + tau/beta
4151 alpha = (alpha**3._wp)**2._wp
4152 omega = alpha/sum(alpha)
4155# 1087 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4156#if defined(MFC_OpenACC)
4157# 1087 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4159# 1087 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4160#elif defined(MFC_OpenMP)
4161# 1087 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4163# 1087 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4165 do q = 0, weno_num_stencils
4166 if (omega(q) < teno_ct)
then
4173# 1097 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4176 omega = alpha/sum(alpha)
4178 vl_rs_vf_y(
j,
k,
l, i) = omega(0)*poly(0) + omega(1)*poly(1) + omega(2)*poly(2) + omega(3)*poly(3)
4181# 1105 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4182 vl_rs_vf_y(
j,
k,
l, i) = vl_rs_vf_y(
j,
k,
l, i) + omega(4)*poly(4)
4183# 1107 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4186 if (.not. teno)
then
4204# 1128 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4205 poly(0) = (-1._wp*v(-1) + 5._wp*v( 0) + 2._wp*v( 1)) / 6._wp
4206 poly(1) = ( 2._wp*v( 0) + 5._wp*v( 1) - 1._wp*v( 2)) / 6._wp
4207 poly(2) = ( 2._wp*v(-2) - 7._wp*v(-1) + 11._wp*v( 0)) / 6._wp
4208 poly(3) = ( 3._wp*v( 0) + 13._wp*v( 1) - 5._wp*v( 2) + 1._wp*v( 3)) / 12._wp
4209 poly(4) = (-3._wp*v(-3) + 13._wp*v(-2) - 23._wp*v(-1) + 25._wp*v( 0)) / 12._wp
4210# 1134 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4214 alpha(0:weno_num_stencils) =
d_cbr_y(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
4216 elseif (mapped_weno)
then
4217 alpha(0:weno_num_stencils) =
d_cbr_y(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
4218 omega = alpha/sum(alpha)
4219 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) &
4220 *(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))))
4225# 1147 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4226#if defined(MFC_OpenACC)
4227# 1147 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4229# 1147 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4230#elif defined(MFC_OpenMP)
4231# 1147 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4233# 1147 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4235 do q = 0, weno_num_stencils
4236 alpha(q) =
d_cbr_y(q,
j)*(1._wp + (tau/beta(q))**wenoz_q)
4241# 1153 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4242#if defined(MFC_OpenACC)
4243# 1153 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4245# 1153 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4246#elif defined(MFC_OpenMP)
4247# 1153 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4249# 1153 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4251 do q = 0, weno_num_stencils
4256 omega = alpha/sum(alpha)
4258 vr_rs_vf_y(
j,
k,
l, i) = omega(0)*poly(0) + omega(1)*poly(1) + omega(2)*poly(2) + omega(3)*poly(3)
4261# 1165 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4262 vr_rs_vf_y(
j,
k,
l, i) = vr_rs_vf_y(
j,
k,
l, i) + omega(4)*poly(4)
4263# 1167 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4271# 1173 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4273# 1173 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4274#if defined(MFC_OpenACC)
4275# 1173 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4277# 1173 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4278#elif defined(MFC_OpenMP)
4279# 1173 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
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"
4290# 946 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4291 if (weno_dir == 3)
then
4293# 947 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4295# 947 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4296#if defined(MFC_OpenACC)
4297# 947 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4299# 947 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4300#elif defined(MFC_OpenMP)
4301# 947 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
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"
4317# 951 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4318#if defined(MFC_OpenACC)
4319# 951 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4321# 951 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4322#elif defined(MFC_OpenMP)
4323# 951 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4325# 951 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4336 if (.not. teno)
then
4368# 994 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4374 poly(0) = ( 2._wp*v(-1) + 5._wp*v( 0) - 1._wp*v( 1)) / 6._wp
4375 poly(1) = (11._wp*v( 0) - 7._wp*v( 1) + 2._wp*v( 2)) / 6._wp
4376 poly(2) = (-1._wp*v(-2) + 5._wp*v(-1) + 2._wp*v( 0)) / 6._wp
4377 poly(3) = (25._wp*v( 0) - 23._wp*v( 1) + 13._wp*v( 2) - 3._wp*v( 3)) / 12._wp
4378 poly(4) = ( 1._wp*v(-3) - 5._wp*v(-2) + 13._wp*v(-1) + 3._wp*v( 0)) / 12._wp
4379# 1005 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4382 if (.not. teno)
then
4417# 1043 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4419 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
4420 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
4421 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
4423 beta(3) = ( v( 0)*(2107._wp*v( 0) - 9402._wp*v( 1) + 7042._wp*v( 2) - 1854._wp*v( 3)) &
4424 + v( 1)*( 11003._wp*v( 1) - 17246._wp*v( 2) + 4642._wp*v( 3)) &
4425 + v( 2)*( 7043._wp*v( 2) - 3882._wp*v( 3)) &
4426 + v( 3)*( 547._wp*v( 3)) ) / 240._wp &
4429 beta(4) = ( v(-3)*(547._wp*v(-3) - 3882._wp*v(-2) + 4642._wp*v(-1) - 1854._wp*v( 0)) &
4430 + v(-2)*( 7043._wp*v(-2) - 17246._wp*v(-1) + 7042._wp*v( 0)) &
4431 + v(-1)*( 11003._wp*v(-1) - 9402._wp*v( 0)) &
4432 + v( 0)*( 2107._wp*v( 0)) ) / 240._wp &
4434# 1060 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4438 alpha(0:weno_num_stencils) =
d_cbl_z(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
4440 elseif (mapped_weno)
then
4441 alpha(0:weno_num_stencils) =
d_cbl_z(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
4442 omega = alpha/sum(alpha)
4443 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) &
4444 *(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))))
4449 tau = abs(beta(3) - beta(0))
4451# 1075 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4452#if defined(MFC_OpenACC)
4453# 1075 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4455# 1075 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4456#elif defined(MFC_OpenMP)
4457# 1075 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4459# 1075 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4461 do q = 0, weno_num_stencils
4462 alpha(q) =
d_cbl_z(q,
j)*(1._wp + (tau/beta(q))**wenoz_q)
4466# 1082 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4467 tau = abs(beta(4) - beta(3))
4468 alpha = 1._wp + tau/beta
4469 alpha = (alpha**3._wp)**2._wp
4470 omega = alpha/sum(alpha)
4473# 1087 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4474#if defined(MFC_OpenACC)
4475# 1087 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4477# 1087 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4478#elif defined(MFC_OpenMP)
4479# 1087 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4481# 1087 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4483 do q = 0, weno_num_stencils
4484 if (omega(q) < teno_ct)
then
4491# 1097 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4494 omega = alpha/sum(alpha)
4496 vl_rs_vf_z(
j,
k,
l, i) = omega(0)*poly(0) + omega(1)*poly(1) + omega(2)*poly(2) + omega(3)*poly(3)
4499# 1105 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4500 vl_rs_vf_z(
j,
k,
l, i) = vl_rs_vf_z(
j,
k,
l, i) + omega(4)*poly(4)
4501# 1107 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4504 if (.not. teno)
then
4522# 1128 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4523 poly(0) = (-1._wp*v(-1) + 5._wp*v( 0) + 2._wp*v( 1)) / 6._wp
4524 poly(1) = ( 2._wp*v( 0) + 5._wp*v( 1) - 1._wp*v( 2)) / 6._wp
4525 poly(2) = ( 2._wp*v(-2) - 7._wp*v(-1) + 11._wp*v( 0)) / 6._wp
4526 poly(3) = ( 3._wp*v( 0) + 13._wp*v( 1) - 5._wp*v( 2) + 1._wp*v( 3)) / 12._wp
4527 poly(4) = (-3._wp*v(-3) + 13._wp*v(-2) - 23._wp*v(-1) + 25._wp*v( 0)) / 12._wp
4528# 1134 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4532 alpha(0:weno_num_stencils) =
d_cbr_z(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
4534 elseif (mapped_weno)
then
4535 alpha(0:weno_num_stencils) =
d_cbr_z(0:weno_num_stencils,
j)/(beta(0:weno_num_stencils)**2._wp)
4536 omega = alpha/sum(alpha)
4537 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) &
4538 *(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))))
4543# 1147 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4544#if defined(MFC_OpenACC)
4545# 1147 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4547# 1147 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4548#elif defined(MFC_OpenMP)
4549# 1147 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4551# 1147 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4553 do q = 0, weno_num_stencils
4554 alpha(q) =
d_cbr_z(q,
j)*(1._wp + (tau/beta(q))**wenoz_q)
4559# 1153 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4560#if defined(MFC_OpenACC)
4561# 1153 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4563# 1153 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4564#elif defined(MFC_OpenMP)
4565# 1153 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4567# 1153 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4569 do q = 0, weno_num_stencils
4574 omega = alpha/sum(alpha)
4576 vr_rs_vf_z(
j,
k,
l, i) = omega(0)*poly(0) + omega(1)*poly(1) + omega(2)*poly(2) + omega(3)*poly(3)
4579# 1165 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4580 vr_rs_vf_z(
j,
k,
l, i) = vr_rs_vf_z(
j,
k,
l, i) + omega(4)*poly(4)
4581# 1167 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4589# 1173 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4591# 1173 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4592#if defined(MFC_OpenACC)
4593# 1173 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4595# 1173 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4596#elif defined(MFC_OpenMP)
4597# 1173 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
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"
4608# 1176 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4609# 1177 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4613 call s_interface_compression(vl_rs_vf_x, vl_rs_vf_y, vl_rs_vf_z, &
4614 vr_rs_vf_x, vr_rs_vf_y, vr_rs_vf_z, &
4615 weno_dir, is1_weno_d, is2_weno_d, is3_weno_d)