1142 integer,
intent(in) :: weno_dir
1143 type(int_bounds_info),
intent(in) :: is
1145 real(wp),
pointer,
dimension(:) :: s_cb => null()
1146 type(int_bounds_info) :: bc_s
1153 if (weno_dir == 1)
then
1154 s = m; s_cb => x_cb; bc_s = bc_x
1155 else if (weno_dir == 2)
then
1156 s = n; s_cb => y_cb; bc_s = bc_y
1158 s = p; s_cb => z_cb; bc_s = bc_z
1161# 197 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
1163 if (weno_dir == 1)
then
1164 if (weno_order == 3)
then
1165 do i = is%beg - 1 + weno_polyn, is%end - 1 - weno_polyn
1167 poly_coef_cbr_x(i + 1, 0, 0) = (s_cb(i) - s_cb(i + 1))/(s_cb(i) - s_cb(i + 2))
1168 poly_coef_cbr_x(i + 1, 1, 0) = (s_cb(i) - s_cb(i + 1))/(s_cb(i - 1) - s_cb(i + 1))
1174 d_cbr_x(0, i + 1) = (s_cb(i - 1) - s_cb(i + 1))/(s_cb(i - 1) - s_cb(i + 2))
1175 d_cbl_x(0, i + 1) = (s_cb(i - 1) - s_cb(i))/(s_cb(i - 1) - s_cb(i + 2))
1181 beta_coef_x(i + 1, 0, 0) = 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp/(s_cb(i) - s_cb(i + 2))**2._wp
1182 beta_coef_x(i + 1, 1, 0) = 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp/(s_cb(i - 1) - s_cb(i + 1))**2._wp
1187 if (null_weights)
then
1188 if (bc_s%beg == bc_riemann_extrap)
then
1193 if (bc_s%end == bc_riemann_extrap)
then
1201 else if (weno_order == 5)
then
1202 do i = is%beg - 1 + weno_polyn, is%end - 1 - weno_polyn
1205 & 0) = ((s_cb(i) - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i + 2)))/((s_cb(i) - s_cb(i &
1206 & + 3))*(s_cb(i + 3) - s_cb(i + 1)))
1208 & 0) = ((s_cb(i - 1) - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i)))/((s_cb(i - 1) &
1209 & - s_cb(i + 2))*(s_cb(i + 2) - s_cb(i)))
1211 & 1) = ((s_cb(i) - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i + 2)))/((s_cb(i - 1) &
1212 & - s_cb(i + 1))*(s_cb(i - 1) - s_cb(i + 2)))
1214 & 1) = ((s_cb(i) - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i - 1)))/((s_cb(i - 2) &
1215 & - s_cb(i))*(s_cb(i - 2) - s_cb(i + 1)))
1217 & 0) = ((s_cb(i + 1) - s_cb(i))*(s_cb(i) - s_cb(i + 2)))/((s_cb(i) - s_cb(i + 3)) &
1218 & *(s_cb(i + 3) - s_cb(i + 1)))
1220 & 0) = ((s_cb(i) - s_cb(i - 1))*(s_cb(i) - s_cb(i + 1)))/((s_cb(i - 1) - s_cb(i &
1221 & + 2))*(s_cb(i) - s_cb(i + 2)))
1223 & 1) = ((s_cb(i + 1) - s_cb(i))*(s_cb(i) - s_cb(i + 2)))/((s_cb(i - 1) - s_cb(i &
1224 & + 1))*(s_cb(i - 1) - s_cb(i + 2)))
1226 & 1) = ((s_cb(i - 1) - s_cb(i))*(s_cb(i) - s_cb(i + 1)))/((s_cb(i - 2) - s_cb(i)) &
1227 & *(s_cb(i - 2) - s_cb(i + 1)))
1230 & 1) = ((s_cb(i) - s_cb(i + 2)) + (s_cb(i + 1) - s_cb(i + 3)))/((s_cb(i) - s_cb(i &
1231 & + 2))*(s_cb(i) - s_cb(i + 3)))*((s_cb(i) - s_cb(i + 1)))
1233 & 0) = ((s_cb(i - 2) - s_cb(i + 1)) + (s_cb(i - 1) - s_cb(i + 1)))/((s_cb(i - 1) &
1234 & - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i - 2)))*((s_cb(i + 1) - s_cb(i)))
1236 & 1) = ((s_cb(i) - s_cb(i + 2)) + (s_cb(i) - s_cb(i + 3)))/((s_cb(i) - s_cb(i + 2)) &
1237 & *(s_cb(i) - s_cb(i + 3)))*((s_cb(i + 1) - s_cb(i)))
1239 & 0) = ((s_cb(i - 2) - s_cb(i)) + (s_cb(i - 1) - s_cb(i + 1)))/((s_cb(i - 2) &
1240 & - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i - 1)))*((s_cb(i) - s_cb(i + 1)))
1244 & i + 1) = ((s_cb(i - 2) - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i - 1)))/((s_cb(i - 2) &
1245 & - s_cb(i + 3))*(s_cb(i + 3) - s_cb(i - 1)))
1247 & i + 1) = ((s_cb(i + 1) - s_cb(i + 2))*(s_cb(i + 1) - s_cb(i + 3)))/((s_cb(i - 2) &
1248 & - s_cb(i + 2))*(s_cb(i - 2) - s_cb(i + 3)))
1250 & i + 1) = ((s_cb(i - 2) - s_cb(i))*(s_cb(i) - s_cb(i - 1)))/((s_cb(i - 2) - s_cb(i + 3)) &
1251 & *(s_cb(i + 3) - s_cb(i - 1)))
1253 & i + 1) = ((s_cb(i) - s_cb(i + 2))*(s_cb(i) - s_cb(i + 3)))/((s_cb(i - 2) - s_cb(i + 2)) &
1254 & *(s_cb(i - 2) - s_cb(i + 3)))
1261 & 0) = 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(10._wp*(s_cb(i + 1) - s_cb(i))**2._wp &
1262 & + (s_cb(i + 1) - s_cb(i))*(s_cb(i + 2) - s_cb(i + 1)) + (s_cb(i + 2) - s_cb(i + 1)) &
1263 & **2._wp)/((s_cb(i) - s_cb(i + 3))**2._wp*(s_cb(i + 1) - s_cb(i + 3))**2._wp)
1266 & 1) = 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(19._wp*(s_cb(i + 1) - s_cb(i))**2._wp &
1267 & - (s_cb(i + 1) - s_cb(i))*(s_cb(i + 3) - s_cb(i + 1)) + 2._wp*(s_cb(i + 2) - s_cb(i)) &
1268 & *((s_cb(i + 2) - s_cb(i)) + (s_cb(i + 3) - s_cb(i + 1))))/((s_cb(i) - s_cb(i + 2)) &
1269 & *(s_cb(i) - s_cb(i + 3))**2._wp*(s_cb(i + 3) - s_cb(i + 1)))
1272 & 2) = 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(10._wp*(s_cb(i + 1) - s_cb(i))**2._wp &
1273 & + (s_cb(i + 1) - s_cb(i))*((s_cb(i + 2) - s_cb(i)) + (s_cb(i + 3) - s_cb(i + 1))) &
1274 & + ((s_cb(i + 2) - s_cb(i)) + (s_cb(i + 3) - s_cb(i + 1)))**2._wp)/((s_cb(i) - s_cb(i &
1275 & + 2))**2._wp*(s_cb(i) - s_cb(i + 3))**2._wp)
1278 & 0) = 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(10._wp*(s_cb(i + 1) - s_cb(i))**2._wp &
1279 & + (s_cb(i) - s_cb(i - 1))**2._wp + (s_cb(i) - s_cb(i - 1))*(s_cb(i + 1) - s_cb(i))) &
1280 & /((s_cb(i - 1) - s_cb(i + 2))**2._wp*(s_cb(i) - s_cb(i + 2))**2._wp)
1283 & 1) = 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*((s_cb(i) - s_cb(i + 1))*((s_cb(i) &
1284 & - s_cb(i - 1)) + 20._wp*(s_cb(i + 1) - s_cb(i))) + (2._wp*(s_cb(i) - s_cb(i - 1)) &
1285 & + (s_cb(i + 1) - s_cb(i)))*(s_cb(i + 2) - s_cb(i)))/((s_cb(i + 1) - s_cb(i - 1)) &
1286 & *(s_cb(i - 1) - s_cb(i + 2))**2._wp*(s_cb(i + 2) - s_cb(i)))
1289 & 2) = 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(10._wp*(s_cb(i + 1) - s_cb(i))**2._wp &
1290 & + (s_cb(i + 1) - s_cb(i))*(s_cb(i + 2) - s_cb(i + 1)) + (s_cb(i + 2) - s_cb(i + 1)) &
1291 & **2._wp)/((s_cb(i - 1) - s_cb(i + 1))**2._wp*(s_cb(i - 1) - s_cb(i + 2))**2._wp)
1294 & 0) = 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(12._wp*(s_cb(i + 1) - s_cb(i))**2._wp &
1295 & + ((s_cb(i) - s_cb(i - 2)) + (s_cb(i) - s_cb(i - 1)))**2._wp + 3._wp*((s_cb(i) &
1296 & - s_cb(i - 2)) + (s_cb(i) - s_cb(i - 1)))*(s_cb(i + 1) - s_cb(i)))/((s_cb(i - 2) &
1297 & - s_cb(i + 1))**2._wp*(s_cb(i - 1) - s_cb(i + 1))**2._wp)
1300 & 1) = 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(19._wp*(s_cb(i + 1) - s_cb(i))**2._wp &
1301 & + ((s_cb(i) - s_cb(i - 2))*(s_cb(i) - s_cb(i + 1))) + 2._wp*(s_cb(i + 1) - s_cb(i &
1302 & - 1))*((s_cb(i) - s_cb(i - 2)) + (s_cb(i + 1) - s_cb(i - 1))))/((s_cb(i - 2) &
1303 & - s_cb(i))*(s_cb(i - 2) - s_cb(i + 1))**2._wp*(s_cb(i + 1) - s_cb(i - 1)))
1306 & 2) = 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(10._wp*(s_cb(i + 1) - s_cb(i))**2._wp &
1307 & + (s_cb(i) - s_cb(i - 1))**2._wp + (s_cb(i) - s_cb(i - 1))*(s_cb(i + 1) - s_cb(i))) &
1308 & /((s_cb(i - 2) - s_cb(i))**2._wp*(s_cb(i - 2) - s_cb(i + 1))**2._wp)
1313 if (null_weights)
then
1314 if (bc_s%beg == bc_riemann_extrap)
then
1321 if (bc_s%end == bc_riemann_extrap)
then
1323 & s - 1)/sum(
d_cbr_x(:,s - 1))
1325 & s - 1)/sum(
d_cbl_x(:,s - 1))
1331 if (.not. teno)
then
1332 do i = is%beg - 1 + weno_polyn, is%end - 1 - weno_polyn
1345 w = s_cb(i - 3:i + 4) - s_cb(i)
1347 & i + 1) = ((w(5) - w(6))*(w(5) - w(7))*(w(5) - w(8)))/((w(1) - w(6))*(w(1) - w(7)) &
1350 & i + 1) = ((w(1) - w(5))*(w(5) - w(7))*(w(5) - w(8))*(w(1)*w(2) - w(1)*w(6) - w(1) &
1351 & *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) &
1352 & *w(8) + w(1)**2 + w(2)**2))/((w(1) - w(6))*(w(1) - w(7))*(w(1) - w(8))*(w(2) - w(7)) &
1355 & i + 1) = ((w(1) - w(5))*(w(2) - w(5))*(w(5) - w(8))*(w(1)*w(2) + w(1)*w(3) + w(2) &
1356 & *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) &
1357 & *w(8) + w(7)**2 + w(8)**2))/((w(1) - w(7))*(w(1) - w(8))*(w(2) - w(7))*(w(2) - w(8)) &
1360 & i + 1) = ((w(1) - w(5))*(w(2) - w(5))*(w(3) - w(5)))/((w(1) - w(8))*(w(2) - w(8)) &
1363 w = s_cb(i + 4:i - 3:-1) - s_cb(i)
1365 & i + 1) = ((w(1) - w(5))*(w(2) - w(5))*(w(3) - w(5)))/((w(1) - w(8))*(w(2) - w(8)) &
1368 & i + 1) = ((w(1) - w(5))*(w(2) - w(5))*(w(5) - w(8))*(w(1)*w(2) + w(1)*w(3) + w(2) &
1369 & *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) &
1370 & *w(8) + w(7)**2 + w(8)**2))/((w(1) - w(7))*(w(1) - w(8))*(w(2) - w(7))*(w(2) - w(8)) &
1373 & i + 1) = ((w(1) - w(5))*(w(5) - w(7))*(w(5) - w(8))*(w(1)*w(2) - w(1)*w(6) - w(1) &
1374 & *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) &
1375 & *w(8) + w(1)**2 + w(2)**2))/((w(1) - w(6))*(w(1) - w(7))*(w(1) - w(8))*(w(2) - w(7)) &
1378 & i + 1) = ((w(5) - w(6))*(w(5) - w(7))*(w(5) - w(8)))/((w(1) - w(6))*(w(1) - w(7)) &
1382 y = s_cb(i + 1:i + 4) - s_cb(i:i + 3)
1384 & 0) = (y(1)*y(2)*(y(2) + y(3)))/((y(3) + y(4))*(y(2) + y(3) + y(4))*(y(1) &
1385 & + y(2) + y(3) + y(4)))
1387 & 1) = -(y(1)*y(2)*(3*y(2)**2 + 6*y(2)*y(3) + 3*y(2)*y(4) + 2*y(1)*y(2) &
1388 & + 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) &
1389 & )*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
1391 & 2) = (y(1)*(y(1)**2 + 3*y(1)*y(2) + 2*y(1)*y(3) + y(4)*y(1) + 3*y(2)**2 &
1392 & + 4*y(2)*y(3) + 2*y(4)*y(2) + y(3)**2 + y(4)*y(3)))/((y(1) + y(2))*(y(1) &
1393 & + y(2) + y(3))*(y(1) + y(2) + y(3) + y(4)))
1395 y = s_cb(i:i + 3) - s_cb(i - 1:i + 2)
1397 & 0) = -(y(2)*y(3)*(y(1) + y(2)))/((y(3) + y(4))*(y(2) + y(3) + y(4))*(y(1) &
1398 & + y(2) + y(3) + y(4)))
1400 & 1) = (y(2)*(y(1) + y(2))*(y(2)**2 + 4*y(2)*y(3) + 2*y(2)*y(4) + y(1)*y(2) &
1401 & + 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) &
1402 & )*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
1404 & 2) = (y(2)*y(3)*(y(3) + y(4)))/((y(1) + y(2))*(y(1) + y(2) + y(3))*(y(1) &
1405 & + y(2) + y(3) + y(4)))
1407 y = s_cb(i - 1:i + 2) - s_cb(i - 2:i + 1)
1409 & 0) = (y(3)*(y(2) + y(3))*(y(1) + y(2) + y(3)))/((y(3) + y(4))*(y(2) + y(3) &
1410 & + y(4))*(y(1) + y(2) + y(3) + y(4)))
1412 & 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 &
1413 & + 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) &
1414 & + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
1416 & 2) = -(y(3)*y(4)*(y(2) + y(3)))/((y(1) + y(2))*(y(1) + y(2) + y(3))*(y(1) &
1417 & + y(2) + y(3) + y(4)))
1419 y = s_cb(i - 2:i + 1) - s_cb(i - 3:i)
1421 & 0) = (y(4)*(y(2)**2 + 4*y(2)*y(3) + 4*y(2)*y(4) + y(1)*y(2) + 3*y(3)**2 &
1422 & + 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) &
1423 & + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
1425 & 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) &
1426 & + 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)) &
1427 & /((y(2) + y(3))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) &
1430 & 2) = (y(4)*(y(3) + y(4))*(y(2) + y(3) + y(4)))/((y(1) + y(2))*(y(1) + y(2) &
1431 & + y(3))*(y(1) + y(2) + y(3) + y(4)))
1433 y = s_cb(i + 1:i - 2:-1) - s_cb(i:i - 3:-1)
1435 & 2) = (y(1)*y(2)*(y(2) + y(3)))/((y(3) + y(4))*(y(2) + y(3) + y(4))*(y(1) &
1436 & + y(2) + y(3) + y(4)))
1438 & 1) = -(y(1)*y(2)*(3*y(2)**2 + 6*y(2)*y(3) + 3*y(2)*y(4) + 2*y(1)*y(2) &
1439 & + 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) &
1440 & )*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
1442 & 0) = (y(1)*(y(1)**2 + 3*y(1)*y(2) + 2*y(1)*y(3) + y(4)*y(1) + 3*y(2)**2 &
1443 & + 4*y(2)*y(3) + 2*y(4)*y(2) + y(3)**2 + y(4)*y(3)))/((y(1) + y(2))*(y(1) &
1444 & + y(2) + y(3))*(y(1) + y(2) + y(3) + y(4)))
1446 y = s_cb(i + 2:i - 1:-1) - s_cb(i + 1:i - 2:-1)
1448 & 2) = -(y(2)*y(3)*(y(1) + y(2)))/((y(3) + y(4))*(y(2) + y(3) + y(4))*(y(1) &
1449 & + y(2) + y(3) + y(4)))
1451 & 1) = (y(2)*(y(1) + y(2))*(y(2)**2 + 4*y(2)*y(3) + 2*y(2)*y(4) + y(1)*y(2) &
1452 & + 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) &
1453 & )*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
1455 & 0) = (y(2)*y(3)*(y(3) + y(4)))/((y(1) + y(2))*(y(1) + y(2) + y(3))*(y(1) &
1456 & + y(2) + y(3) + y(4)))
1458 y = s_cb(i + 3:i:-1) - s_cb(i + 2:i - 1:-1)
1460 & 2) = (y(3)*(y(2) + y(3))*(y(1) + y(2) + y(3)))/((y(3) + y(4))*(y(2) + y(3) &
1461 & + y(4))*(y(1) + y(2) + y(3) + y(4)))
1463 & 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 &
1464 & + 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) &
1465 & + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
1467 & 0) = -(y(3)*y(4)*(y(2) + y(3)))/((y(1) + y(2))*(y(1) + y(2) + y(3))*(y(1) &
1468 & + y(2) + y(3) + y(4)))
1470 y = s_cb(i + 4:i + 1:-1) - s_cb(i + 3:i:-1)
1472 & 2) = (y(4)*(y(2)**2 + 4*y(2)*y(3) + 4*y(2)*y(4) + y(1)*y(2) + 3*y(3)**2 &
1473 & + 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) &
1474 & + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
1476 & 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) &
1477 & + 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)) &
1478 & /((y(2) + y(3))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) &
1481 & 0) = (y(4)*(y(3) + y(4))*(y(2) + y(3) + y(4)))/((y(1) + y(2))*(y(1) + y(2) &
1482 & + y(3))*(y(1) + y(2) + y(3) + y(4)))
1487 y = s_cb(i - 2:i + 1) - s_cb(i - 3:i)
1489 & 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) &
1490 & + 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) &
1491 & **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 &
1492 & + 165*y(1)*y(2)*y(3)*y(4) + 260*y(1)*y(2)*y(4)**2 + 60*y(1)*y(3)**3 + 135*y(1) &
1493 & *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) &
1494 & **3*y(3) + 30*y(2)**3*y(4) + 110*y(2)**2*y(3)**2 + 165*y(2)**2*y(3)*y(4) &
1495 & + 260*y(2)**2*y(4)**2 + 120*y(2)*y(3)**3 + 270*y(2)*y(3)**2*y(4) + 800*y(2)*y(3) &
1496 & *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) &
1497 & **2 + 675*y(3)*y(4)**3 + 996*y(4)**4))/(5*(y(3) + y(4))**2*(y(2) + y(3) + y(4)) &
1498 & **2*(y(1) + y(2) + y(3) + y(4))**2)
1500 & 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) &
1501 & **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) &
1502 & + 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) &
1503 & + 535*y(1)**2*y(2)*y(4)**2 + 90*y(1)**2*y(3)**3 + 165*y(1)**2*y(3)**2*y(4) &
1504 & + 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) &
1505 & *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) &
1506 & *y(2)**2*y(4)**2 + 360*y(1)*y(2)*y(3)**3 + 645*y(1)*y(2)*y(3)**2*y(4) + 2850*y(1) &
1507 & *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) &
1508 & **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) &
1509 & **4 + 30*y(2)**4*y(3) + 15*y(2)**4*y(4) + 180*y(2)**3*y(3)**2 + 210*y(2)**3*y(3) &
1510 & *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) &
1511 & + 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) &
1512 & *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) &
1513 & *y(4)**4 + 90*y(3)**5 + 270*y(3)**4*y(4) + 1800*y(3)**3*y(4)**2 + 2655*y(3) &
1514 & **2*y(4)**3 + 4464*y(3)*y(4)**4 + 1767*y(4)**5))/(5*(y(2) + y(3))*(y(3) + y(4)) &
1515 & *(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4))**2)
1517 & 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) &
1518 & **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) &
1519 & + 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) &
1520 & *y(4)**2 + 35*y(1)*y(2)*y(3)*y(4) + 415*y(2)*y(4)**3 + 110*y(1)*y(2)*y(4)**2 &
1521 & + 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) &
1522 & *y(3)**2*y(4) + 725*y(3)*y(4)**3 + 220*y(1)*y(3)*y(4)**2 + 1767*y(4)**4 &
1523 & + 105*y(1)*y(4)**3))/(5*(y(1) + y(2))*(y(3) + y(4))*(y(1) + y(2) + y(3))*(y(2) &
1524 & + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4))**2)
1526 & 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 &
1527 & + 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 &
1528 & + 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 &
1529 & + 200*y(1)**3*y(4)**3 + 75*y(1)**2*y(2)**2*y(3)**2 + 75*y(1)**2*y(2)**2*y(3)*y(4) &
1530 & + 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) &
1531 & **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) &
1532 & **2*y(3)**4 + 150*y(1)**2*y(3)**3*y(4) + 1390*y(1)**2*y(3)**2*y(4)**2 + 1315*y(1) &
1533 & **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) &
1534 & **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) &
1535 & *y(2)**2*y(3)**2*y(4) + 3735*y(1)*y(2)**2*y(3)*y(4)**2 + 1800*y(1)*y(2)**2*y(4) &
1536 & **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) &
1537 & **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) &
1538 & **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) &
1539 & **3 + 4529*y(1)*y(3)*y(4)**4 + 1762*y(1)*y(4)**5 + 45*y(2)**4*y(3)**2 + 45*y(2) &
1540 & **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) &
1541 & **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) &
1542 & **4 + 540*y(2)**2*y(3)**3*y(4) + 5025*y(2)**2*y(3)**2*y(4)**2 + 4755*y(2)**2*y(3) &
1543 & *y(4)**3 + 4224*y(2)**2*y(4)**4 + 180*y(2)*y(3)**5 + 450*y(2)*y(3)**4*y(4) &
1544 & + 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 &
1545 & + 3524*y(2)*y(4)**5 + 45*y(3)**6 + 135*y(3)**5*y(4) + 1395*y(3)**4*y(4)**2 &
1546 & + 2565*y(3)**3*y(4)**3 + 4884*y(3)**2*y(4)**4 + 3624*y(3)*y(4)**5 + 831*y(4)**6)) &
1547 & /(5*(y(2) + y(3))**2*(y(1) + y(2) + y(3))**2*(y(2) + y(3) + y(4))**2*(y(1) + y(2) &
1548 & + y(3) + y(4))**2)
1550 & 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) &
1551 & **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) &
1552 & **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) &
1553 & **2*y(3)*y(4) + 300*y(1)*y(2)**2*y(4)**2 + 60*y(1)*y(2)*y(3)**3 + 90*y(1)*y(2) &
1554 & *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) &
1555 & *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) &
1556 & **3 + 1762*y(1)*y(4)**4 + 30*y(2)**3*y(3)**2 + 30*y(2)**3*y(3)*y(4) + 300*y(2) &
1557 & **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) &
1558 & *y(4)**2 + 700*y(2)**2*y(4)**3 + 90*y(2)*y(3)**4 + 180*y(2)*y(3)**3*y(4) &
1559 & + 2205*y(2)*y(3)**2*y(4)**2 + 2115*y(2)*y(3)*y(4)**3 + 3624*y(2)*y(4)**4 &
1560 & + 30*y(3)**5 + 75*y(3)**4*y(4) + 1060*y(3)**3*y(4)**2 + 1515*y(3)**2*y(4)**3 &
1561 & + 3824*y(3)*y(4)**4 + 1662*y(4)**5))/(5*(y(1) + y(2))*(y(2) + y(3))*(y(1) + y(2) &
1562 & + y(3))**2*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4))**2)
1564 & 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 &
1565 & + 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) &
1566 & **3 + 5*y(3)**4 + 10*y(3)**3*y(4) + 205*y(3)**2*y(4)**2 + 200*y(3)*y(4)**3 &
1567 & + 831*y(4)**4))/(5*(y(1) + y(2))**2*(y(1) + y(2) + y(3))**2*(y(1) + y(2) + y(3) &
1570 y = s_cb(i - 1:i + 2) - s_cb(i - 2:i + 1)
1572 & 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 &
1573 & + 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) &
1574 & **3 + 5*y(2)**4 + 10*y(2)**3*y(3) + 205*y(2)**2*y(3)**2 + 200*y(2)*y(3)**3 &
1575 & + 831*y(3)**4))/(5*(y(3) + y(4))**2*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) &
1578 & 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 &
1579 & + 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) &
1580 & - 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 &
1581 & - 285*y(1)**2*y(3)**3 + 20*y(1)**2*y(3)**2*y(4) + 5*y(1)**2*y(3)*y(4)**2 &
1582 & + 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 &
1583 & + 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 &
1584 & + 100*y(1)*y(2)*y(3)**2*y(4) + 35*y(1)*y(2)*y(3)*y(4)**2 - 1847*y(1)*y(3)**4 &
1585 & + 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) &
1586 & **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 &
1587 & - 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 &
1588 & - 3694*y(2)*y(3)**4 + 250*y(2)*y(3)**3*y(4) + 220*y(2)*y(3)**2*y(4)**2 &
1589 & - 3219*y(3)**5 - 1452*y(3)**4*y(4) + 105*y(3)**3*y(4)**2))/(5*(y(2) + y(3))*(y(3) &
1590 & + y(4))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4)) &
1593 & 2) = -(4*y(3)**2*(5*y(2)**3*y(3) - 95*y(2)*y(3)**3 - 190*y(2)**2*y(3)**2 &
1594 & + 10*y(2)**3*y(4) + 100*y(3)**3*y(4) - 1562*y(3)**4 - 95*y(1)*y(2)*y(3)**2 &
1595 & + 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) &
1596 & *y(3)**2*y(4) + 15*y(2)**2*y(3)*y(4) + 10*y(1)*y(2)*y(3)*y(4)))/(5*(y(1) + y(2)) &
1597 & *(y(3) + y(4))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) &
1600 & 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 &
1601 & + 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 &
1602 & + 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 &
1603 & + 10*y(1)**3*y(4)**3 + 750*y(1)**2*y(2)**2*y(3)**2 + 75*y(1)**2*y(2)**2*y(3)*y(4) &
1604 & + 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) &
1605 & **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) &
1606 & **2*y(3)**4 - 50*y(1)**2*y(3)**3*y(4) - 10*y(1)**2*y(3)**2*y(4)**2 + 45*y(1) &
1607 & **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) &
1608 & **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) &
1609 & *y(2)**2*y(3)**2*y(4) + 315*y(1)*y(2)**2*y(3)*y(4)**2 + 90*y(1)*y(2)**2*y(4)**3 &
1610 & + 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) &
1611 & **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 &
1612 & + 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 &
1613 & + 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) &
1614 & **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) &
1615 & *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) &
1616 & + 25*y(2)**2*y(3)**2*y(4)**2 + 165*y(2)**2*y(3)*y(4)**3 + 20*y(2)**2*y(4)**4 &
1617 & + 6648*y(2)*y(3)**5 + 2814*y(2)*y(3)**4*y(4) - 200*y(2)*y(3)**3*y(4)**2 &
1618 & + 140*y(2)*y(3)**2*y(4)**3 + 30*y(2)*y(3)*y(4)**4 + 3174*y(3)**6 + 3039*y(3) &
1619 & **5*y(4) + 771*y(3)**4*y(4)**2 + 135*y(3)**3*y(4)**3 + 60*y(3)**2*y(4)**4)) &
1620 & /(5*(y(2) + y(3))**2*(y(1) + y(2) + y(3))**2*(y(2) + y(3) + y(4))**2*(y(1) + y(2) &
1621 & + y(3) + y(4))**2)
1623 & 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) &
1624 & **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) &
1625 & *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) &
1626 & *y(2)*y(3)**3 - 260*y(1)*y(2)*y(3)**2*y(4) + 50*y(1)*y(2)*y(3)*y(4)**2 + 10*y(1) &
1627 & *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) &
1628 & **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) &
1629 & **3*y(4)**2 + 400*y(2)**2*y(3)**3 - 235*y(2)**2*y(3)**2*y(4) + 85*y(2)**2*y(3) &
1630 & *y(4)**2 + 20*y(2)**2*y(4)**3 + 3224*y(2)*y(3)**4 - 460*y(2)*y(3)**3*y(4) &
1631 & - 35*y(2)*y(3)**2*y(4)**2 + 25*y(2)*y(3)*y(4)**3 + 3124*y(3)**5 + 1467*y(3) &
1632 & **4*y(4) + 110*y(3)**3*y(4)**2 + 105*y(3)**2*y(4)**3))/(5*(y(1) + y(2))*(y(2) &
1633 & + y(3))*(y(1) + y(2) + y(3))**2*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)) &
1636 & 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 &
1637 & - 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)) &
1638 & /(5*(y(1) + y(2))**2*(y(1) + y(2) + y(3))**2*(y(1) + y(2) + y(3) + y(4))**2)
1640 y = s_cb(i:i + 3) - s_cb(i - 1:i + 2)
1642 & 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 &
1643 & - 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)) &
1644 & /(5*(y(3) + y(4))**2*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4))**2)
1646 & 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) &
1647 & *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) &
1648 & **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) &
1649 & **2*y(2)*y(3)*y(4) + 5*y(1)**2*y(2)*y(4)**2 + 30*y(1)**2*y(3)**3 + 30*y(1) &
1650 & **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) &
1651 & **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) &
1652 & **2*y(3)*y(4) - 95*y(1)*y(2)**2*y(4)**2 + 30*y(1)*y(2)*y(3)**3 + 30*y(1)*y(2) &
1653 & *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) &
1654 & + 1562*y(2)**4*y(4) + 400*y(2)**3*y(3)**2 + 200*y(2)**3*y(3)*y(4) + 300*y(2) &
1655 & **2*y(3)**3 + 300*y(2)**2*y(3)**2*y(4) + 100*y(2)**2*y(3)*y(4)**2))/(5*(y(2) &
1656 & + y(3))*(y(3) + y(4))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))**2*(y(1) + y(2) &
1657 & + y(3) + y(4))**2)
1659 & 2) = -(4*y(2)**2*(100*y(1)*y(2)**3 - 190*y(2)**2*y(3)**2 + 10*y(1)*y(3)**3 &
1660 & + 5*y(2)*y(3)**3 - 95*y(2)**3*y(3) - 1562*y(2)**4 + 15*y(1)*y(2)*y(3)**2 &
1661 & + 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) &
1662 & *y(3)**2*y(4) - 95*y(2)**2*y(3)*y(4) + 10*y(1)*y(2)*y(3)*y(4)))/(5*(y(1) + y(2)) &
1663 & *(y(3) + y(4))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) &
1666 & 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) &
1667 & + 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) &
1668 & **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) &
1669 & **3*y(2)*y(3)**2 + 165*y(1)**3*y(2)*y(3)*y(4) + 45*y(1)**3*y(2)*y(4)**2 + 60*y(1) &
1670 & **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) &
1671 & **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) &
1672 & + 25*y(1)**2*y(2)**2*y(3)**2 + 25*y(1)**2*y(2)**2*y(3)*y(4) - 10*y(1)**2*y(2) &
1673 & **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) &
1674 & **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) &
1675 & **2*y(3)**3*y(4) + 75*y(1)**2*y(3)**2*y(4)**2 + 30*y(1)**2*y(3)*y(4)**3 + 5*y(1) &
1676 & **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) &
1677 & - 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) &
1678 & **2 + 150*y(1)*y(2)**2*y(3)**3 + 225*y(1)*y(2)**2*y(3)**2*y(4) + 125*y(1)*y(2) &
1679 & **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) &
1680 & *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) &
1681 & *y(2)*y(4)**4 + 3174*y(2)**6 + 6648*y(2)**5*y(3) + 3324*y(2)**5*y(4) + 4224*y(2) &
1682 & **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) &
1683 & **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) &
1684 & **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) &
1685 & **2 + 300*y(2)**2*y(3)*y(4)**3 + 50*y(2)**2*y(4)**4))/(5*(y(2) + y(3))**2*(y(1) &
1686 & + y(2) + y(3))**2*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4))**2)
1688 & 4) = (4*y(2)**2*(105*y(1)**2*y(2)**3 + 220*y(1)**2*y(2)**2*y(3) + 110*y(1) &
1689 & **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) &
1690 & **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) &
1691 & *y(4)**2 - 1452*y(1)*y(2)**4 + 250*y(1)*y(2)**3*y(3) + 125*y(1)*y(2)**3*y(4) &
1692 & + 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) &
1693 & **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) &
1694 & **2 + 5*y(1)*y(2)*y(4)**3 + 30*y(1)*y(3)**4 + 60*y(1)*y(3)**3*y(4) + 40*y(1)*y(3) &
1695 & **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) &
1696 & **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 &
1697 & - 550*y(2)**2*y(3)**3 - 825*y(2)**2*y(3)**2*y(4) - 465*y(2)**2*y(3)*y(4)**2 &
1698 & - 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) &
1699 & **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) &
1700 & + y(3))**2*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4))**2)
1702 & 5) = (4*y(2)**2*(831*y(2)**4 + 200*y(2)**3*y(3) + 100*y(2)**3*y(4) + 205*y(2) &
1703 & **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 &
1704 & + 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) &
1705 & + 5*y(3)**2*y(4)**2))/(5*(y(1) + y(2))**2*(y(1) + y(2) + y(3))**2*(y(1) + y(2) &
1706 & + y(3) + y(4))**2)
1708 y = s_cb(i + 1:i + 4) - s_cb(i:i + 3)
1710 & 0) = (4*y(1)**2*(831*y(1)**4 + 200*y(1)**3*y(2) + 100*y(1)**3*y(3) + 205*y(1) &
1711 & **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 &
1712 & + 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) &
1713 & + 5*y(2)**2*y(3)**2))/(5*(y(3) + y(4))**2*(y(2) + y(3) + y(4))**2*(y(1) + y(2) &
1714 & + y(3) + y(4))**2)
1716 & 1) = -(4*y(1)**2*(1662*y(1)**5 + 3824*y(1)**4*y(2) + 3624*y(1)**4*y(3) &
1717 & + 1762*y(1)**4*y(4) + 1515*y(1)**3*y(2)**2 + 2115*y(1)**3*y(2)*y(3) + 805*y(1) &
1718 & **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) &
1719 & **2 + 1060*y(1)**2*y(2)**3 + 2205*y(1)**2*y(2)**2*y(3) + 835*y(1)**2*y(2)**2*y(4) &
1720 & + 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) &
1721 & **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 &
1722 & + 75*y(1)*y(2)**4 + 180*y(1)*y(2)**3*y(3) + 60*y(1)*y(2)**3*y(4) + 135*y(1)*y(2) &
1723 & **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) &
1724 & *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 &
1725 & + 90*y(2)**4*y(3) + 30*y(2)**4*y(4) + 90*y(2)**3*y(3)**2 + 60*y(2)**3*y(3)*y(4) &
1726 & + 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) &
1727 & **2*y(3)*y(4)**2))/(5*(y(2) + y(3))*(y(3) + y(4))*(y(1) + y(2) + y(3))*(y(2) &
1728 & + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4))**2)
1730 & 2) = (4*y(1)**2*(1767*y(1)**4 + 725*y(1)**3*y(2) + 415*y(1)**3*y(3) + 105*y(4) &
1731 & *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) &
1732 & + 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) &
1733 & **2*y(3) + 35*y(4)*y(1)*y(2)**2 + 60*y(1)*y(2)*y(3)**2 + 35*y(4)*y(1)*y(2)*y(3) &
1734 & + 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) &
1735 & *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) &
1736 & *y(2)*y(3)**2))/(5*(y(1) + y(2))*(y(3) + y(4))*(y(1) + y(2) + y(3))*(y(2) + y(3) &
1737 & + y(4))*(y(1) + y(2) + y(3) + y(4))**2)
1739 & 3) = (4*y(1)**2*(831*y(1)**6 + 3624*y(1)**5*y(2) + 3524*y(1)**5*y(3) + 1762*y(1) &
1740 & **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) &
1741 & + 4224*y(1)**4*y(3)**2 + 4224*y(1)**4*y(3)*y(4) + 1081*y(1)**4*y(4)**2 &
1742 & + 2565*y(1)**3*y(2)**3 + 6120*y(1)**3*y(2)**2*y(3) + 3060*y(1)**3*y(2)**2*y(4) &
1743 & + 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) &
1744 & *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) &
1745 & *y(4)**2 + 200*y(1)**3*y(4)**3 + 1395*y(1)**2*y(2)**4 + 4380*y(1)**2*y(2)**3*y(3) &
1746 & + 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) &
1747 & **2*y(3)*y(4) + 1390*y(1)**2*y(2)**2*y(4)**2 + 2490*y(1)**2*y(2)*y(3)**3 &
1748 & + 3735*y(1)**2*y(2)*y(3)**2*y(4) + 2075*y(1)**2*y(2)*y(3)*y(4)**2 + 415*y(1) &
1749 & **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) &
1750 & **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) &
1751 & *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) &
1752 & **2 + 540*y(1)*y(2)**3*y(3)*y(4) + 150*y(1)*y(2)**3*y(4)**2 + 270*y(1)*y(2) &
1753 & **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 &
1754 & + 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) &
1755 & + 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 &
1756 & + 45*y(2)**6 + 180*y(2)**5*y(3) + 90*y(2)**5*y(4) + 270*y(2)**4*y(3)**2 &
1757 & + 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) &
1758 & **3*y(3)**2*y(4) + 150*y(2)**3*y(3)*y(4)**2 + 30*y(2)**3*y(4)**3 + 45*y(2) &
1759 & **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) &
1760 & **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)) &
1761 & **2*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4))**2)
1763 & 4) = -(4*y(1)**2*(1767*y(1)**5 + 4464*y(1)**4*y(2) + 4154*y(1)**4*y(3) &
1764 & + 2077*y(1)**4*y(4) + 2655*y(1)**3*y(2)**2 + 4010*y(1)**3*y(2)*y(3) + 2005*y(1) &
1765 & **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) &
1766 & **2 + 1800*y(1)**2*y(2)**3 + 4000*y(1)**2*y(2)**2*y(3) + 2000*y(1)**2*y(2) &
1767 & **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) &
1768 & **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) &
1769 & **2*y(3)*y(4)**2 + 105*y(1)**2*y(4)**3 + 270*y(1)*y(2)**4 + 720*y(1)*y(2)**3*y(3) &
1770 & + 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) &
1771 & + 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) &
1772 & + 155*y(1)*y(2)*y(3)*y(4)**2 + 25*y(1)*y(2)*y(4)**3 + 15*y(1)*y(3)**4 + 30*y(1) &
1773 & *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 &
1774 & + 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) &
1775 & *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) &
1776 & + 130*y(2)**2*y(3)*y(4)**2 + 20*y(2)**2*y(4)**3 + 30*y(2)*y(3)**4 + 60*y(2)*y(3) &
1777 & **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)) &
1778 & *(y(2) + y(3))*(y(1) + y(2) + y(3))**2*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) &
1781 & 5) = (4*y(1)**2*(996*y(1)**4 + 675*y(1)**3*y(2) + 450*y(1)**3*y(3) + 225*y(1) &
1782 & **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) &
1783 & + 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) &
1784 & *y(2)**3 + 270*y(1)*y(2)**2*y(3) + 135*y(1)*y(2)**2*y(4) + 165*y(1)*y(2)*y(3)**2 &
1785 & + 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) &
1786 & **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) &
1787 & + 110*y(2)**2*y(3)**2 + 110*y(2)**2*y(3)*y(4) + 20*y(2)**2*y(4)**2 + 40*y(2)*y(3) &
1788 & **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) &
1789 & + 5*y(3)**2*y(4)**2))/(5*(y(1) + y(2))**2*(y(1) + y(2) + y(3))**2*(y(1) + y(2) &
1790 & + y(3) + y(4))**2)
1808# 197 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
1810 if (weno_dir == 2)
then
1811 if (weno_order == 3)
then
1812 do i = is%beg - 1 + weno_polyn, is%end - 1 - weno_polyn
1814 poly_coef_cbr_y(i + 1, 0, 0) = (s_cb(i) - s_cb(i + 1))/(s_cb(i) - s_cb(i + 2))
1815 poly_coef_cbr_y(i + 1, 1, 0) = (s_cb(i) - s_cb(i + 1))/(s_cb(i - 1) - s_cb(i + 1))
1821 d_cbr_y(0, i + 1) = (s_cb(i - 1) - s_cb(i + 1))/(s_cb(i - 1) - s_cb(i + 2))
1822 d_cbl_y(0, i + 1) = (s_cb(i - 1) - s_cb(i))/(s_cb(i - 1) - s_cb(i + 2))
1828 beta_coef_y(i + 1, 0, 0) = 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp/(s_cb(i) - s_cb(i + 2))**2._wp
1829 beta_coef_y(i + 1, 1, 0) = 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp/(s_cb(i - 1) - s_cb(i + 1))**2._wp
1834 if (null_weights)
then
1835 if (bc_s%beg == bc_riemann_extrap)
then
1840 if (bc_s%end == bc_riemann_extrap)
then
1848 else if (weno_order == 5)
then
1849 do i = is%beg - 1 + weno_polyn, is%end - 1 - weno_polyn
1852 & 0) = ((s_cb(i) - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i + 2)))/((s_cb(i) - s_cb(i &
1853 & + 3))*(s_cb(i + 3) - s_cb(i + 1)))
1855 & 0) = ((s_cb(i - 1) - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i)))/((s_cb(i - 1) &
1856 & - s_cb(i + 2))*(s_cb(i + 2) - s_cb(i)))
1858 & 1) = ((s_cb(i) - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i + 2)))/((s_cb(i - 1) &
1859 & - s_cb(i + 1))*(s_cb(i - 1) - s_cb(i + 2)))
1861 & 1) = ((s_cb(i) - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i - 1)))/((s_cb(i - 2) &
1862 & - s_cb(i))*(s_cb(i - 2) - s_cb(i + 1)))
1864 & 0) = ((s_cb(i + 1) - s_cb(i))*(s_cb(i) - s_cb(i + 2)))/((s_cb(i) - s_cb(i + 3)) &
1865 & *(s_cb(i + 3) - s_cb(i + 1)))
1867 & 0) = ((s_cb(i) - s_cb(i - 1))*(s_cb(i) - s_cb(i + 1)))/((s_cb(i - 1) - s_cb(i &
1868 & + 2))*(s_cb(i) - s_cb(i + 2)))
1870 & 1) = ((s_cb(i + 1) - s_cb(i))*(s_cb(i) - s_cb(i + 2)))/((s_cb(i - 1) - s_cb(i &
1871 & + 1))*(s_cb(i - 1) - s_cb(i + 2)))
1873 & 1) = ((s_cb(i - 1) - s_cb(i))*(s_cb(i) - s_cb(i + 1)))/((s_cb(i - 2) - s_cb(i)) &
1874 & *(s_cb(i - 2) - s_cb(i + 1)))
1877 & 1) = ((s_cb(i) - s_cb(i + 2)) + (s_cb(i + 1) - s_cb(i + 3)))/((s_cb(i) - s_cb(i &
1878 & + 2))*(s_cb(i) - s_cb(i + 3)))*((s_cb(i) - s_cb(i + 1)))
1880 & 0) = ((s_cb(i - 2) - s_cb(i + 1)) + (s_cb(i - 1) - s_cb(i + 1)))/((s_cb(i - 1) &
1881 & - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i - 2)))*((s_cb(i + 1) - s_cb(i)))
1883 & 1) = ((s_cb(i) - s_cb(i + 2)) + (s_cb(i) - s_cb(i + 3)))/((s_cb(i) - s_cb(i + 2)) &
1884 & *(s_cb(i) - s_cb(i + 3)))*((s_cb(i + 1) - s_cb(i)))
1886 & 0) = ((s_cb(i - 2) - s_cb(i)) + (s_cb(i - 1) - s_cb(i + 1)))/((s_cb(i - 2) &
1887 & - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i - 1)))*((s_cb(i) - s_cb(i + 1)))
1891 & i + 1) = ((s_cb(i - 2) - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i - 1)))/((s_cb(i - 2) &
1892 & - s_cb(i + 3))*(s_cb(i + 3) - s_cb(i - 1)))
1894 & i + 1) = ((s_cb(i + 1) - s_cb(i + 2))*(s_cb(i + 1) - s_cb(i + 3)))/((s_cb(i - 2) &
1895 & - s_cb(i + 2))*(s_cb(i - 2) - s_cb(i + 3)))
1897 & i + 1) = ((s_cb(i - 2) - s_cb(i))*(s_cb(i) - s_cb(i - 1)))/((s_cb(i - 2) - s_cb(i + 3)) &
1898 & *(s_cb(i + 3) - s_cb(i - 1)))
1900 & i + 1) = ((s_cb(i) - s_cb(i + 2))*(s_cb(i) - s_cb(i + 3)))/((s_cb(i - 2) - s_cb(i + 2)) &
1901 & *(s_cb(i - 2) - s_cb(i + 3)))
1908 & 0) = 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(10._wp*(s_cb(i + 1) - s_cb(i))**2._wp &
1909 & + (s_cb(i + 1) - s_cb(i))*(s_cb(i + 2) - s_cb(i + 1)) + (s_cb(i + 2) - s_cb(i + 1)) &
1910 & **2._wp)/((s_cb(i) - s_cb(i + 3))**2._wp*(s_cb(i + 1) - s_cb(i + 3))**2._wp)
1913 & 1) = 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(19._wp*(s_cb(i + 1) - s_cb(i))**2._wp &
1914 & - (s_cb(i + 1) - s_cb(i))*(s_cb(i + 3) - s_cb(i + 1)) + 2._wp*(s_cb(i + 2) - s_cb(i)) &
1915 & *((s_cb(i + 2) - s_cb(i)) + (s_cb(i + 3) - s_cb(i + 1))))/((s_cb(i) - s_cb(i + 2)) &
1916 & *(s_cb(i) - s_cb(i + 3))**2._wp*(s_cb(i + 3) - s_cb(i + 1)))
1919 & 2) = 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(10._wp*(s_cb(i + 1) - s_cb(i))**2._wp &
1920 & + (s_cb(i + 1) - s_cb(i))*((s_cb(i + 2) - s_cb(i)) + (s_cb(i + 3) - s_cb(i + 1))) &
1921 & + ((s_cb(i + 2) - s_cb(i)) + (s_cb(i + 3) - s_cb(i + 1)))**2._wp)/((s_cb(i) - s_cb(i &
1922 & + 2))**2._wp*(s_cb(i) - s_cb(i + 3))**2._wp)
1925 & 0) = 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(10._wp*(s_cb(i + 1) - s_cb(i))**2._wp &
1926 & + (s_cb(i) - s_cb(i - 1))**2._wp + (s_cb(i) - s_cb(i - 1))*(s_cb(i + 1) - s_cb(i))) &
1927 & /((s_cb(i - 1) - s_cb(i + 2))**2._wp*(s_cb(i) - s_cb(i + 2))**2._wp)
1930 & 1) = 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*((s_cb(i) - s_cb(i + 1))*((s_cb(i) &
1931 & - s_cb(i - 1)) + 20._wp*(s_cb(i + 1) - s_cb(i))) + (2._wp*(s_cb(i) - s_cb(i - 1)) &
1932 & + (s_cb(i + 1) - s_cb(i)))*(s_cb(i + 2) - s_cb(i)))/((s_cb(i + 1) - s_cb(i - 1)) &
1933 & *(s_cb(i - 1) - s_cb(i + 2))**2._wp*(s_cb(i + 2) - s_cb(i)))
1936 & 2) = 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(10._wp*(s_cb(i + 1) - s_cb(i))**2._wp &
1937 & + (s_cb(i + 1) - s_cb(i))*(s_cb(i + 2) - s_cb(i + 1)) + (s_cb(i + 2) - s_cb(i + 1)) &
1938 & **2._wp)/((s_cb(i - 1) - s_cb(i + 1))**2._wp*(s_cb(i - 1) - s_cb(i + 2))**2._wp)
1941 & 0) = 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(12._wp*(s_cb(i + 1) - s_cb(i))**2._wp &
1942 & + ((s_cb(i) - s_cb(i - 2)) + (s_cb(i) - s_cb(i - 1)))**2._wp + 3._wp*((s_cb(i) &
1943 & - s_cb(i - 2)) + (s_cb(i) - s_cb(i - 1)))*(s_cb(i + 1) - s_cb(i)))/((s_cb(i - 2) &
1944 & - s_cb(i + 1))**2._wp*(s_cb(i - 1) - s_cb(i + 1))**2._wp)
1947 & 1) = 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(19._wp*(s_cb(i + 1) - s_cb(i))**2._wp &
1948 & + ((s_cb(i) - s_cb(i - 2))*(s_cb(i) - s_cb(i + 1))) + 2._wp*(s_cb(i + 1) - s_cb(i &
1949 & - 1))*((s_cb(i) - s_cb(i - 2)) + (s_cb(i + 1) - s_cb(i - 1))))/((s_cb(i - 2) &
1950 & - s_cb(i))*(s_cb(i - 2) - s_cb(i + 1))**2._wp*(s_cb(i + 1) - s_cb(i - 1)))
1953 & 2) = 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(10._wp*(s_cb(i + 1) - s_cb(i))**2._wp &
1954 & + (s_cb(i) - s_cb(i - 1))**2._wp + (s_cb(i) - s_cb(i - 1))*(s_cb(i + 1) - s_cb(i))) &
1955 & /((s_cb(i - 2) - s_cb(i))**2._wp*(s_cb(i - 2) - s_cb(i + 1))**2._wp)
1960 if (null_weights)
then
1961 if (bc_s%beg == bc_riemann_extrap)
then
1968 if (bc_s%end == bc_riemann_extrap)
then
1970 & s - 1)/sum(
d_cbr_y(:,s - 1))
1972 & s - 1)/sum(
d_cbl_y(:,s - 1))
1978 if (.not. teno)
then
1979 do i = is%beg - 1 + weno_polyn, is%end - 1 - weno_polyn
1992 w = s_cb(i - 3:i + 4) - s_cb(i)
1994 & i + 1) = ((w(5) - w(6))*(w(5) - w(7))*(w(5) - w(8)))/((w(1) - w(6))*(w(1) - w(7)) &
1997 & i + 1) = ((w(1) - w(5))*(w(5) - w(7))*(w(5) - w(8))*(w(1)*w(2) - w(1)*w(6) - w(1) &
1998 & *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) &
1999 & *w(8) + w(1)**2 + w(2)**2))/((w(1) - w(6))*(w(1) - w(7))*(w(1) - w(8))*(w(2) - w(7)) &
2002 & i + 1) = ((w(1) - w(5))*(w(2) - w(5))*(w(5) - w(8))*(w(1)*w(2) + w(1)*w(3) + w(2) &
2003 & *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) &
2004 & *w(8) + w(7)**2 + w(8)**2))/((w(1) - w(7))*(w(1) - w(8))*(w(2) - w(7))*(w(2) - w(8)) &
2007 & i + 1) = ((w(1) - w(5))*(w(2) - w(5))*(w(3) - w(5)))/((w(1) - w(8))*(w(2) - w(8)) &
2010 w = s_cb(i + 4:i - 3:-1) - s_cb(i)
2012 & i + 1) = ((w(1) - w(5))*(w(2) - w(5))*(w(3) - w(5)))/((w(1) - w(8))*(w(2) - w(8)) &
2015 & i + 1) = ((w(1) - w(5))*(w(2) - w(5))*(w(5) - w(8))*(w(1)*w(2) + w(1)*w(3) + w(2) &
2016 & *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) &
2017 & *w(8) + w(7)**2 + w(8)**2))/((w(1) - w(7))*(w(1) - w(8))*(w(2) - w(7))*(w(2) - w(8)) &
2020 & i + 1) = ((w(1) - w(5))*(w(5) - w(7))*(w(5) - w(8))*(w(1)*w(2) - w(1)*w(6) - w(1) &
2021 & *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) &
2022 & *w(8) + w(1)**2 + w(2)**2))/((w(1) - w(6))*(w(1) - w(7))*(w(1) - w(8))*(w(2) - w(7)) &
2025 & i + 1) = ((w(5) - w(6))*(w(5) - w(7))*(w(5) - w(8)))/((w(1) - w(6))*(w(1) - w(7)) &
2029 y = s_cb(i + 1:i + 4) - s_cb(i:i + 3)
2031 & 0) = (y(1)*y(2)*(y(2) + y(3)))/((y(3) + y(4))*(y(2) + y(3) + y(4))*(y(1) &
2032 & + y(2) + y(3) + y(4)))
2034 & 1) = -(y(1)*y(2)*(3*y(2)**2 + 6*y(2)*y(3) + 3*y(2)*y(4) + 2*y(1)*y(2) &
2035 & + 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) &
2036 & )*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
2038 & 2) = (y(1)*(y(1)**2 + 3*y(1)*y(2) + 2*y(1)*y(3) + y(4)*y(1) + 3*y(2)**2 &
2039 & + 4*y(2)*y(3) + 2*y(4)*y(2) + y(3)**2 + y(4)*y(3)))/((y(1) + y(2))*(y(1) &
2040 & + y(2) + y(3))*(y(1) + y(2) + y(3) + y(4)))
2042 y = s_cb(i:i + 3) - s_cb(i - 1:i + 2)
2044 & 0) = -(y(2)*y(3)*(y(1) + y(2)))/((y(3) + y(4))*(y(2) + y(3) + y(4))*(y(1) &
2045 & + y(2) + y(3) + y(4)))
2047 & 1) = (y(2)*(y(1) + y(2))*(y(2)**2 + 4*y(2)*y(3) + 2*y(2)*y(4) + y(1)*y(2) &
2048 & + 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) &
2049 & )*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
2051 & 2) = (y(2)*y(3)*(y(3) + y(4)))/((y(1) + y(2))*(y(1) + y(2) + y(3))*(y(1) &
2052 & + y(2) + y(3) + y(4)))
2054 y = s_cb(i - 1:i + 2) - s_cb(i - 2:i + 1)
2056 & 0) = (y(3)*(y(2) + y(3))*(y(1) + y(2) + y(3)))/((y(3) + y(4))*(y(2) + y(3) &
2057 & + y(4))*(y(1) + y(2) + y(3) + y(4)))
2059 & 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 &
2060 & + 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) &
2061 & + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
2063 & 2) = -(y(3)*y(4)*(y(2) + y(3)))/((y(1) + y(2))*(y(1) + y(2) + y(3))*(y(1) &
2064 & + y(2) + y(3) + y(4)))
2066 y = s_cb(i - 2:i + 1) - s_cb(i - 3:i)
2068 & 0) = (y(4)*(y(2)**2 + 4*y(2)*y(3) + 4*y(2)*y(4) + y(1)*y(2) + 3*y(3)**2 &
2069 & + 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) &
2070 & + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
2072 & 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) &
2073 & + 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)) &
2074 & /((y(2) + y(3))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) &
2077 & 2) = (y(4)*(y(3) + y(4))*(y(2) + y(3) + y(4)))/((y(1) + y(2))*(y(1) + y(2) &
2078 & + y(3))*(y(1) + y(2) + y(3) + y(4)))
2080 y = s_cb(i + 1:i - 2:-1) - s_cb(i:i - 3:-1)
2082 & 2) = (y(1)*y(2)*(y(2) + y(3)))/((y(3) + y(4))*(y(2) + y(3) + y(4))*(y(1) &
2083 & + y(2) + y(3) + y(4)))
2085 & 1) = -(y(1)*y(2)*(3*y(2)**2 + 6*y(2)*y(3) + 3*y(2)*y(4) + 2*y(1)*y(2) &
2086 & + 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) &
2087 & )*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
2089 & 0) = (y(1)*(y(1)**2 + 3*y(1)*y(2) + 2*y(1)*y(3) + y(4)*y(1) + 3*y(2)**2 &
2090 & + 4*y(2)*y(3) + 2*y(4)*y(2) + y(3)**2 + y(4)*y(3)))/((y(1) + y(2))*(y(1) &
2091 & + y(2) + y(3))*(y(1) + y(2) + y(3) + y(4)))
2093 y = s_cb(i + 2:i - 1:-1) - s_cb(i + 1:i - 2:-1)
2095 & 2) = -(y(2)*y(3)*(y(1) + y(2)))/((y(3) + y(4))*(y(2) + y(3) + y(4))*(y(1) &
2096 & + y(2) + y(3) + y(4)))
2098 & 1) = (y(2)*(y(1) + y(2))*(y(2)**2 + 4*y(2)*y(3) + 2*y(2)*y(4) + y(1)*y(2) &
2099 & + 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) &
2100 & )*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
2102 & 0) = (y(2)*y(3)*(y(3) + y(4)))/((y(1) + y(2))*(y(1) + y(2) + y(3))*(y(1) &
2103 & + y(2) + y(3) + y(4)))
2105 y = s_cb(i + 3:i:-1) - s_cb(i + 2:i - 1:-1)
2107 & 2) = (y(3)*(y(2) + y(3))*(y(1) + y(2) + y(3)))/((y(3) + y(4))*(y(2) + y(3) &
2108 & + y(4))*(y(1) + y(2) + y(3) + y(4)))
2110 & 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 &
2111 & + 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) &
2112 & + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
2114 & 0) = -(y(3)*y(4)*(y(2) + y(3)))/((y(1) + y(2))*(y(1) + y(2) + y(3))*(y(1) &
2115 & + y(2) + y(3) + y(4)))
2117 y = s_cb(i + 4:i + 1:-1) - s_cb(i + 3:i:-1)
2119 & 2) = (y(4)*(y(2)**2 + 4*y(2)*y(3) + 4*y(2)*y(4) + y(1)*y(2) + 3*y(3)**2 &
2120 & + 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) &
2121 & + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
2123 & 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) &
2124 & + 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)) &
2125 & /((y(2) + y(3))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) &
2128 & 0) = (y(4)*(y(3) + y(4))*(y(2) + y(3) + y(4)))/((y(1) + y(2))*(y(1) + y(2) &
2129 & + y(3))*(y(1) + y(2) + y(3) + y(4)))
2134 y = s_cb(i - 2:i + 1) - s_cb(i - 3:i)
2136 & 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) &
2137 & + 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) &
2138 & **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 &
2139 & + 165*y(1)*y(2)*y(3)*y(4) + 260*y(1)*y(2)*y(4)**2 + 60*y(1)*y(3)**3 + 135*y(1) &
2140 & *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) &
2141 & **3*y(3) + 30*y(2)**3*y(4) + 110*y(2)**2*y(3)**2 + 165*y(2)**2*y(3)*y(4) &
2142 & + 260*y(2)**2*y(4)**2 + 120*y(2)*y(3)**3 + 270*y(2)*y(3)**2*y(4) + 800*y(2)*y(3) &
2143 & *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) &
2144 & **2 + 675*y(3)*y(4)**3 + 996*y(4)**4))/(5*(y(3) + y(4))**2*(y(2) + y(3) + y(4)) &
2145 & **2*(y(1) + y(2) + y(3) + y(4))**2)
2147 & 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) &
2148 & **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) &
2149 & + 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) &
2150 & + 535*y(1)**2*y(2)*y(4)**2 + 90*y(1)**2*y(3)**3 + 165*y(1)**2*y(3)**2*y(4) &
2151 & + 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) &
2152 & *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) &
2153 & *y(2)**2*y(4)**2 + 360*y(1)*y(2)*y(3)**3 + 645*y(1)*y(2)*y(3)**2*y(4) + 2850*y(1) &
2154 & *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) &
2155 & **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) &
2156 & **4 + 30*y(2)**4*y(3) + 15*y(2)**4*y(4) + 180*y(2)**3*y(3)**2 + 210*y(2)**3*y(3) &
2157 & *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) &
2158 & + 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) &
2159 & *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) &
2160 & *y(4)**4 + 90*y(3)**5 + 270*y(3)**4*y(4) + 1800*y(3)**3*y(4)**2 + 2655*y(3) &
2161 & **2*y(4)**3 + 4464*y(3)*y(4)**4 + 1767*y(4)**5))/(5*(y(2) + y(3))*(y(3) + y(4)) &
2162 & *(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4))**2)
2164 & 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) &
2165 & **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) &
2166 & + 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) &
2167 & *y(4)**2 + 35*y(1)*y(2)*y(3)*y(4) + 415*y(2)*y(4)**3 + 110*y(1)*y(2)*y(4)**2 &
2168 & + 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) &
2169 & *y(3)**2*y(4) + 725*y(3)*y(4)**3 + 220*y(1)*y(3)*y(4)**2 + 1767*y(4)**4 &
2170 & + 105*y(1)*y(4)**3))/(5*(y(1) + y(2))*(y(3) + y(4))*(y(1) + y(2) + y(3))*(y(2) &
2171 & + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4))**2)
2173 & 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 &
2174 & + 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 &
2175 & + 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 &
2176 & + 200*y(1)**3*y(4)**3 + 75*y(1)**2*y(2)**2*y(3)**2 + 75*y(1)**2*y(2)**2*y(3)*y(4) &
2177 & + 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) &
2178 & **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) &
2179 & **2*y(3)**4 + 150*y(1)**2*y(3)**3*y(4) + 1390*y(1)**2*y(3)**2*y(4)**2 + 1315*y(1) &
2180 & **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) &
2181 & **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) &
2182 & *y(2)**2*y(3)**2*y(4) + 3735*y(1)*y(2)**2*y(3)*y(4)**2 + 1800*y(1)*y(2)**2*y(4) &
2183 & **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) &
2184 & **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) &
2185 & **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) &
2186 & **3 + 4529*y(1)*y(3)*y(4)**4 + 1762*y(1)*y(4)**5 + 45*y(2)**4*y(3)**2 + 45*y(2) &
2187 & **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) &
2188 & **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) &
2189 & **4 + 540*y(2)**2*y(3)**3*y(4) + 5025*y(2)**2*y(3)**2*y(4)**2 + 4755*y(2)**2*y(3) &
2190 & *y(4)**3 + 4224*y(2)**2*y(4)**4 + 180*y(2)*y(3)**5 + 450*y(2)*y(3)**4*y(4) &
2191 & + 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 &
2192 & + 3524*y(2)*y(4)**5 + 45*y(3)**6 + 135*y(3)**5*y(4) + 1395*y(3)**4*y(4)**2 &
2193 & + 2565*y(3)**3*y(4)**3 + 4884*y(3)**2*y(4)**4 + 3624*y(3)*y(4)**5 + 831*y(4)**6)) &
2194 & /(5*(y(2) + y(3))**2*(y(1) + y(2) + y(3))**2*(y(2) + y(3) + y(4))**2*(y(1) + y(2) &
2195 & + y(3) + y(4))**2)
2197 & 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) &
2198 & **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) &
2199 & **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) &
2200 & **2*y(3)*y(4) + 300*y(1)*y(2)**2*y(4)**2 + 60*y(1)*y(2)*y(3)**3 + 90*y(1)*y(2) &
2201 & *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) &
2202 & *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) &
2203 & **3 + 1762*y(1)*y(4)**4 + 30*y(2)**3*y(3)**2 + 30*y(2)**3*y(3)*y(4) + 300*y(2) &
2204 & **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) &
2205 & *y(4)**2 + 700*y(2)**2*y(4)**3 + 90*y(2)*y(3)**4 + 180*y(2)*y(3)**3*y(4) &
2206 & + 2205*y(2)*y(3)**2*y(4)**2 + 2115*y(2)*y(3)*y(4)**3 + 3624*y(2)*y(4)**4 &
2207 & + 30*y(3)**5 + 75*y(3)**4*y(4) + 1060*y(3)**3*y(4)**2 + 1515*y(3)**2*y(4)**3 &
2208 & + 3824*y(3)*y(4)**4 + 1662*y(4)**5))/(5*(y(1) + y(2))*(y(2) + y(3))*(y(1) + y(2) &
2209 & + y(3))**2*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4))**2)
2211 & 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 &
2212 & + 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) &
2213 & **3 + 5*y(3)**4 + 10*y(3)**3*y(4) + 205*y(3)**2*y(4)**2 + 200*y(3)*y(4)**3 &
2214 & + 831*y(4)**4))/(5*(y(1) + y(2))**2*(y(1) + y(2) + y(3))**2*(y(1) + y(2) + y(3) &
2217 y = s_cb(i - 1:i + 2) - s_cb(i - 2:i + 1)
2219 & 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 &
2220 & + 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) &
2221 & **3 + 5*y(2)**4 + 10*y(2)**3*y(3) + 205*y(2)**2*y(3)**2 + 200*y(2)*y(3)**3 &
2222 & + 831*y(3)**4))/(5*(y(3) + y(4))**2*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) &
2225 & 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 &
2226 & + 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) &
2227 & - 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 &
2228 & - 285*y(1)**2*y(3)**3 + 20*y(1)**2*y(3)**2*y(4) + 5*y(1)**2*y(3)*y(4)**2 &
2229 & + 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 &
2230 & + 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 &
2231 & + 100*y(1)*y(2)*y(3)**2*y(4) + 35*y(1)*y(2)*y(3)*y(4)**2 - 1847*y(1)*y(3)**4 &
2232 & + 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) &
2233 & **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 &
2234 & - 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 &
2235 & - 3694*y(2)*y(3)**4 + 250*y(2)*y(3)**3*y(4) + 220*y(2)*y(3)**2*y(4)**2 &
2236 & - 3219*y(3)**5 - 1452*y(3)**4*y(4) + 105*y(3)**3*y(4)**2))/(5*(y(2) + y(3))*(y(3) &
2237 & + y(4))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4)) &
2240 & 2) = -(4*y(3)**2*(5*y(2)**3*y(3) - 95*y(2)*y(3)**3 - 190*y(2)**2*y(3)**2 &
2241 & + 10*y(2)**3*y(4) + 100*y(3)**3*y(4) - 1562*y(3)**4 - 95*y(1)*y(2)*y(3)**2 &
2242 & + 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) &
2243 & *y(3)**2*y(4) + 15*y(2)**2*y(3)*y(4) + 10*y(1)*y(2)*y(3)*y(4)))/(5*(y(1) + y(2)) &
2244 & *(y(3) + y(4))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) &
2247 & 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 &
2248 & + 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 &
2249 & + 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 &
2250 & + 10*y(1)**3*y(4)**3 + 750*y(1)**2*y(2)**2*y(3)**2 + 75*y(1)**2*y(2)**2*y(3)*y(4) &
2251 & + 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) &
2252 & **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) &
2253 & **2*y(3)**4 - 50*y(1)**2*y(3)**3*y(4) - 10*y(1)**2*y(3)**2*y(4)**2 + 45*y(1) &
2254 & **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) &
2255 & **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) &
2256 & *y(2)**2*y(3)**2*y(4) + 315*y(1)*y(2)**2*y(3)*y(4)**2 + 90*y(1)*y(2)**2*y(4)**3 &
2257 & + 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) &
2258 & **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 &
2259 & + 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 &
2260 & + 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) &
2261 & **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) &
2262 & *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) &
2263 & + 25*y(2)**2*y(3)**2*y(4)**2 + 165*y(2)**2*y(3)*y(4)**3 + 20*y(2)**2*y(4)**4 &
2264 & + 6648*y(2)*y(3)**5 + 2814*y(2)*y(3)**4*y(4) - 200*y(2)*y(3)**3*y(4)**2 &
2265 & + 140*y(2)*y(3)**2*y(4)**3 + 30*y(2)*y(3)*y(4)**4 + 3174*y(3)**6 + 3039*y(3) &
2266 & **5*y(4) + 771*y(3)**4*y(4)**2 + 135*y(3)**3*y(4)**3 + 60*y(3)**2*y(4)**4)) &
2267 & /(5*(y(2) + y(3))**2*(y(1) + y(2) + y(3))**2*(y(2) + y(3) + y(4))**2*(y(1) + y(2) &
2268 & + y(3) + y(4))**2)
2270 & 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) &
2271 & **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) &
2272 & *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) &
2273 & *y(2)*y(3)**3 - 260*y(1)*y(2)*y(3)**2*y(4) + 50*y(1)*y(2)*y(3)*y(4)**2 + 10*y(1) &
2274 & *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) &
2275 & **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) &
2276 & **3*y(4)**2 + 400*y(2)**2*y(3)**3 - 235*y(2)**2*y(3)**2*y(4) + 85*y(2)**2*y(3) &
2277 & *y(4)**2 + 20*y(2)**2*y(4)**3 + 3224*y(2)*y(3)**4 - 460*y(2)*y(3)**3*y(4) &
2278 & - 35*y(2)*y(3)**2*y(4)**2 + 25*y(2)*y(3)*y(4)**3 + 3124*y(3)**5 + 1467*y(3) &
2279 & **4*y(4) + 110*y(3)**3*y(4)**2 + 105*y(3)**2*y(4)**3))/(5*(y(1) + y(2))*(y(2) &
2280 & + y(3))*(y(1) + y(2) + y(3))**2*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)) &
2283 & 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 &
2284 & - 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)) &
2285 & /(5*(y(1) + y(2))**2*(y(1) + y(2) + y(3))**2*(y(1) + y(2) + y(3) + y(4))**2)
2287 y = s_cb(i:i + 3) - s_cb(i - 1:i + 2)
2289 & 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 &
2290 & - 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)) &
2291 & /(5*(y(3) + y(4))**2*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4))**2)
2293 & 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) &
2294 & *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) &
2295 & **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) &
2296 & **2*y(2)*y(3)*y(4) + 5*y(1)**2*y(2)*y(4)**2 + 30*y(1)**2*y(3)**3 + 30*y(1) &
2297 & **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) &
2298 & **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) &
2299 & **2*y(3)*y(4) - 95*y(1)*y(2)**2*y(4)**2 + 30*y(1)*y(2)*y(3)**3 + 30*y(1)*y(2) &
2300 & *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) &
2301 & + 1562*y(2)**4*y(4) + 400*y(2)**3*y(3)**2 + 200*y(2)**3*y(3)*y(4) + 300*y(2) &
2302 & **2*y(3)**3 + 300*y(2)**2*y(3)**2*y(4) + 100*y(2)**2*y(3)*y(4)**2))/(5*(y(2) &
2303 & + y(3))*(y(3) + y(4))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))**2*(y(1) + y(2) &
2304 & + y(3) + y(4))**2)
2306 & 2) = -(4*y(2)**2*(100*y(1)*y(2)**3 - 190*y(2)**2*y(3)**2 + 10*y(1)*y(3)**3 &
2307 & + 5*y(2)*y(3)**3 - 95*y(2)**3*y(3) - 1562*y(2)**4 + 15*y(1)*y(2)*y(3)**2 &
2308 & + 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) &
2309 & *y(3)**2*y(4) - 95*y(2)**2*y(3)*y(4) + 10*y(1)*y(2)*y(3)*y(4)))/(5*(y(1) + y(2)) &
2310 & *(y(3) + y(4))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) &
2313 & 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) &
2314 & + 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) &
2315 & **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) &
2316 & **3*y(2)*y(3)**2 + 165*y(1)**3*y(2)*y(3)*y(4) + 45*y(1)**3*y(2)*y(4)**2 + 60*y(1) &
2317 & **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) &
2318 & **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) &
2319 & + 25*y(1)**2*y(2)**2*y(3)**2 + 25*y(1)**2*y(2)**2*y(3)*y(4) - 10*y(1)**2*y(2) &
2320 & **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) &
2321 & **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) &
2322 & **2*y(3)**3*y(4) + 75*y(1)**2*y(3)**2*y(4)**2 + 30*y(1)**2*y(3)*y(4)**3 + 5*y(1) &
2323 & **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) &
2324 & - 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) &
2325 & **2 + 150*y(1)*y(2)**2*y(3)**3 + 225*y(1)*y(2)**2*y(3)**2*y(4) + 125*y(1)*y(2) &
2326 & **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) &
2327 & *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) &
2328 & *y(2)*y(4)**4 + 3174*y(2)**6 + 6648*y(2)**5*y(3) + 3324*y(2)**5*y(4) + 4224*y(2) &
2329 & **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) &
2330 & **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) &
2331 & **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) &
2332 & **2 + 300*y(2)**2*y(3)*y(4)**3 + 50*y(2)**2*y(4)**4))/(5*(y(2) + y(3))**2*(y(1) &
2333 & + y(2) + y(3))**2*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4))**2)
2335 & 4) = (4*y(2)**2*(105*y(1)**2*y(2)**3 + 220*y(1)**2*y(2)**2*y(3) + 110*y(1) &
2336 & **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) &
2337 & **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) &
2338 & *y(4)**2 - 1452*y(1)*y(2)**4 + 250*y(1)*y(2)**3*y(3) + 125*y(1)*y(2)**3*y(4) &
2339 & + 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) &
2340 & **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) &
2341 & **2 + 5*y(1)*y(2)*y(4)**3 + 30*y(1)*y(3)**4 + 60*y(1)*y(3)**3*y(4) + 40*y(1)*y(3) &
2342 & **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) &
2343 & **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 &
2344 & - 550*y(2)**2*y(3)**3 - 825*y(2)**2*y(3)**2*y(4) - 465*y(2)**2*y(3)*y(4)**2 &
2345 & - 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) &
2346 & **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) &
2347 & + y(3))**2*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4))**2)
2349 & 5) = (4*y(2)**2*(831*y(2)**4 + 200*y(2)**3*y(3) + 100*y(2)**3*y(4) + 205*y(2) &
2350 & **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 &
2351 & + 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) &
2352 & + 5*y(3)**2*y(4)**2))/(5*(y(1) + y(2))**2*(y(1) + y(2) + y(3))**2*(y(1) + y(2) &
2353 & + y(3) + y(4))**2)
2355 y = s_cb(i + 1:i + 4) - s_cb(i:i + 3)
2357 & 0) = (4*y(1)**2*(831*y(1)**4 + 200*y(1)**3*y(2) + 100*y(1)**3*y(3) + 205*y(1) &
2358 & **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 &
2359 & + 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) &
2360 & + 5*y(2)**2*y(3)**2))/(5*(y(3) + y(4))**2*(y(2) + y(3) + y(4))**2*(y(1) + y(2) &
2361 & + y(3) + y(4))**2)
2363 & 1) = -(4*y(1)**2*(1662*y(1)**5 + 3824*y(1)**4*y(2) + 3624*y(1)**4*y(3) &
2364 & + 1762*y(1)**4*y(4) + 1515*y(1)**3*y(2)**2 + 2115*y(1)**3*y(2)*y(3) + 805*y(1) &
2365 & **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) &
2366 & **2 + 1060*y(1)**2*y(2)**3 + 2205*y(1)**2*y(2)**2*y(3) + 835*y(1)**2*y(2)**2*y(4) &
2367 & + 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) &
2368 & **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 &
2369 & + 75*y(1)*y(2)**4 + 180*y(1)*y(2)**3*y(3) + 60*y(1)*y(2)**3*y(4) + 135*y(1)*y(2) &
2370 & **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) &
2371 & *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 &
2372 & + 90*y(2)**4*y(3) + 30*y(2)**4*y(4) + 90*y(2)**3*y(3)**2 + 60*y(2)**3*y(3)*y(4) &
2373 & + 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) &
2374 & **2*y(3)*y(4)**2))/(5*(y(2) + y(3))*(y(3) + y(4))*(y(1) + y(2) + y(3))*(y(2) &
2375 & + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4))**2)
2377 & 2) = (4*y(1)**2*(1767*y(1)**4 + 725*y(1)**3*y(2) + 415*y(1)**3*y(3) + 105*y(4) &
2378 & *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) &
2379 & + 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) &
2380 & **2*y(3) + 35*y(4)*y(1)*y(2)**2 + 60*y(1)*y(2)*y(3)**2 + 35*y(4)*y(1)*y(2)*y(3) &
2381 & + 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) &
2382 & *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) &
2383 & *y(2)*y(3)**2))/(5*(y(1) + y(2))*(y(3) + y(4))*(y(1) + y(2) + y(3))*(y(2) + y(3) &
2384 & + y(4))*(y(1) + y(2) + y(3) + y(4))**2)
2386 & 3) = (4*y(1)**2*(831*y(1)**6 + 3624*y(1)**5*y(2) + 3524*y(1)**5*y(3) + 1762*y(1) &
2387 & **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) &
2388 & + 4224*y(1)**4*y(3)**2 + 4224*y(1)**4*y(3)*y(4) + 1081*y(1)**4*y(4)**2 &
2389 & + 2565*y(1)**3*y(2)**3 + 6120*y(1)**3*y(2)**2*y(3) + 3060*y(1)**3*y(2)**2*y(4) &
2390 & + 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) &
2391 & *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) &
2392 & *y(4)**2 + 200*y(1)**3*y(4)**3 + 1395*y(1)**2*y(2)**4 + 4380*y(1)**2*y(2)**3*y(3) &
2393 & + 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) &
2394 & **2*y(3)*y(4) + 1390*y(1)**2*y(2)**2*y(4)**2 + 2490*y(1)**2*y(2)*y(3)**3 &
2395 & + 3735*y(1)**2*y(2)*y(3)**2*y(4) + 2075*y(1)**2*y(2)*y(3)*y(4)**2 + 415*y(1) &
2396 & **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) &
2397 & **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) &
2398 & *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) &
2399 & **2 + 540*y(1)*y(2)**3*y(3)*y(4) + 150*y(1)*y(2)**3*y(4)**2 + 270*y(1)*y(2) &
2400 & **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 &
2401 & + 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) &
2402 & + 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 &
2403 & + 45*y(2)**6 + 180*y(2)**5*y(3) + 90*y(2)**5*y(4) + 270*y(2)**4*y(3)**2 &
2404 & + 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) &
2405 & **3*y(3)**2*y(4) + 150*y(2)**3*y(3)*y(4)**2 + 30*y(2)**3*y(4)**3 + 45*y(2) &
2406 & **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) &
2407 & **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)) &
2408 & **2*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4))**2)
2410 & 4) = -(4*y(1)**2*(1767*y(1)**5 + 4464*y(1)**4*y(2) + 4154*y(1)**4*y(3) &
2411 & + 2077*y(1)**4*y(4) + 2655*y(1)**3*y(2)**2 + 4010*y(1)**3*y(2)*y(3) + 2005*y(1) &
2412 & **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) &
2413 & **2 + 1800*y(1)**2*y(2)**3 + 4000*y(1)**2*y(2)**2*y(3) + 2000*y(1)**2*y(2) &
2414 & **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) &
2415 & **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) &
2416 & **2*y(3)*y(4)**2 + 105*y(1)**2*y(4)**3 + 270*y(1)*y(2)**4 + 720*y(1)*y(2)**3*y(3) &
2417 & + 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) &
2418 & + 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) &
2419 & + 155*y(1)*y(2)*y(3)*y(4)**2 + 25*y(1)*y(2)*y(4)**3 + 15*y(1)*y(3)**4 + 30*y(1) &
2420 & *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 &
2421 & + 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) &
2422 & *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) &
2423 & + 130*y(2)**2*y(3)*y(4)**2 + 20*y(2)**2*y(4)**3 + 30*y(2)*y(3)**4 + 60*y(2)*y(3) &
2424 & **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)) &
2425 & *(y(2) + y(3))*(y(1) + y(2) + y(3))**2*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) &
2428 & 5) = (4*y(1)**2*(996*y(1)**4 + 675*y(1)**3*y(2) + 450*y(1)**3*y(3) + 225*y(1) &
2429 & **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) &
2430 & + 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) &
2431 & *y(2)**3 + 270*y(1)*y(2)**2*y(3) + 135*y(1)*y(2)**2*y(4) + 165*y(1)*y(2)*y(3)**2 &
2432 & + 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) &
2433 & **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) &
2434 & + 110*y(2)**2*y(3)**2 + 110*y(2)**2*y(3)*y(4) + 20*y(2)**2*y(4)**2 + 40*y(2)*y(3) &
2435 & **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) &
2436 & + 5*y(3)**2*y(4)**2))/(5*(y(1) + y(2))**2*(y(1) + y(2) + y(3))**2*(y(1) + y(2) &
2437 & + y(3) + y(4))**2)
2455# 197 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
2457 if (weno_dir == 3)
then
2458 if (weno_order == 3)
then
2459 do i = is%beg - 1 + weno_polyn, is%end - 1 - weno_polyn
2461 poly_coef_cbr_z(i + 1, 0, 0) = (s_cb(i) - s_cb(i + 1))/(s_cb(i) - s_cb(i + 2))
2462 poly_coef_cbr_z(i + 1, 1, 0) = (s_cb(i) - s_cb(i + 1))/(s_cb(i - 1) - s_cb(i + 1))
2468 d_cbr_z(0, i + 1) = (s_cb(i - 1) - s_cb(i + 1))/(s_cb(i - 1) - s_cb(i + 2))
2469 d_cbl_z(0, i + 1) = (s_cb(i - 1) - s_cb(i))/(s_cb(i - 1) - s_cb(i + 2))
2475 beta_coef_z(i + 1, 0, 0) = 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp/(s_cb(i) - s_cb(i + 2))**2._wp
2476 beta_coef_z(i + 1, 1, 0) = 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp/(s_cb(i - 1) - s_cb(i + 1))**2._wp
2481 if (null_weights)
then
2482 if (bc_s%beg == bc_riemann_extrap)
then
2487 if (bc_s%end == bc_riemann_extrap)
then
2495 else if (weno_order == 5)
then
2496 do i = is%beg - 1 + weno_polyn, is%end - 1 - weno_polyn
2499 & 0) = ((s_cb(i) - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i + 2)))/((s_cb(i) - s_cb(i &
2500 & + 3))*(s_cb(i + 3) - s_cb(i + 1)))
2502 & 0) = ((s_cb(i - 1) - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i)))/((s_cb(i - 1) &
2503 & - s_cb(i + 2))*(s_cb(i + 2) - s_cb(i)))
2505 & 1) = ((s_cb(i) - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i + 2)))/((s_cb(i - 1) &
2506 & - s_cb(i + 1))*(s_cb(i - 1) - s_cb(i + 2)))
2508 & 1) = ((s_cb(i) - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i - 1)))/((s_cb(i - 2) &
2509 & - s_cb(i))*(s_cb(i - 2) - s_cb(i + 1)))
2511 & 0) = ((s_cb(i + 1) - s_cb(i))*(s_cb(i) - s_cb(i + 2)))/((s_cb(i) - s_cb(i + 3)) &
2512 & *(s_cb(i + 3) - s_cb(i + 1)))
2514 & 0) = ((s_cb(i) - s_cb(i - 1))*(s_cb(i) - s_cb(i + 1)))/((s_cb(i - 1) - s_cb(i &
2515 & + 2))*(s_cb(i) - s_cb(i + 2)))
2517 & 1) = ((s_cb(i + 1) - s_cb(i))*(s_cb(i) - s_cb(i + 2)))/((s_cb(i - 1) - s_cb(i &
2518 & + 1))*(s_cb(i - 1) - s_cb(i + 2)))
2520 & 1) = ((s_cb(i - 1) - s_cb(i))*(s_cb(i) - s_cb(i + 1)))/((s_cb(i - 2) - s_cb(i)) &
2521 & *(s_cb(i - 2) - s_cb(i + 1)))
2524 & 1) = ((s_cb(i) - s_cb(i + 2)) + (s_cb(i + 1) - s_cb(i + 3)))/((s_cb(i) - s_cb(i &
2525 & + 2))*(s_cb(i) - s_cb(i + 3)))*((s_cb(i) - s_cb(i + 1)))
2527 & 0) = ((s_cb(i - 2) - s_cb(i + 1)) + (s_cb(i - 1) - s_cb(i + 1)))/((s_cb(i - 1) &
2528 & - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i - 2)))*((s_cb(i + 1) - s_cb(i)))
2530 & 1) = ((s_cb(i) - s_cb(i + 2)) + (s_cb(i) - s_cb(i + 3)))/((s_cb(i) - s_cb(i + 2)) &
2531 & *(s_cb(i) - s_cb(i + 3)))*((s_cb(i + 1) - s_cb(i)))
2533 & 0) = ((s_cb(i - 2) - s_cb(i)) + (s_cb(i - 1) - s_cb(i + 1)))/((s_cb(i - 2) &
2534 & - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i - 1)))*((s_cb(i) - s_cb(i + 1)))
2538 & i + 1) = ((s_cb(i - 2) - s_cb(i + 1))*(s_cb(i + 1) - s_cb(i - 1)))/((s_cb(i - 2) &
2539 & - s_cb(i + 3))*(s_cb(i + 3) - s_cb(i - 1)))
2541 & i + 1) = ((s_cb(i + 1) - s_cb(i + 2))*(s_cb(i + 1) - s_cb(i + 3)))/((s_cb(i - 2) &
2542 & - s_cb(i + 2))*(s_cb(i - 2) - s_cb(i + 3)))
2544 & i + 1) = ((s_cb(i - 2) - s_cb(i))*(s_cb(i) - s_cb(i - 1)))/((s_cb(i - 2) - s_cb(i + 3)) &
2545 & *(s_cb(i + 3) - s_cb(i - 1)))
2547 & i + 1) = ((s_cb(i) - s_cb(i + 2))*(s_cb(i) - s_cb(i + 3)))/((s_cb(i - 2) - s_cb(i + 2)) &
2548 & *(s_cb(i - 2) - s_cb(i + 3)))
2555 & 0) = 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(10._wp*(s_cb(i + 1) - s_cb(i))**2._wp &
2556 & + (s_cb(i + 1) - s_cb(i))*(s_cb(i + 2) - s_cb(i + 1)) + (s_cb(i + 2) - s_cb(i + 1)) &
2557 & **2._wp)/((s_cb(i) - s_cb(i + 3))**2._wp*(s_cb(i + 1) - s_cb(i + 3))**2._wp)
2560 & 1) = 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(19._wp*(s_cb(i + 1) - s_cb(i))**2._wp &
2561 & - (s_cb(i + 1) - s_cb(i))*(s_cb(i + 3) - s_cb(i + 1)) + 2._wp*(s_cb(i + 2) - s_cb(i)) &
2562 & *((s_cb(i + 2) - s_cb(i)) + (s_cb(i + 3) - s_cb(i + 1))))/((s_cb(i) - s_cb(i + 2)) &
2563 & *(s_cb(i) - s_cb(i + 3))**2._wp*(s_cb(i + 3) - s_cb(i + 1)))
2566 & 2) = 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(10._wp*(s_cb(i + 1) - s_cb(i))**2._wp &
2567 & + (s_cb(i + 1) - s_cb(i))*((s_cb(i + 2) - s_cb(i)) + (s_cb(i + 3) - s_cb(i + 1))) &
2568 & + ((s_cb(i + 2) - s_cb(i)) + (s_cb(i + 3) - s_cb(i + 1)))**2._wp)/((s_cb(i) - s_cb(i &
2569 & + 2))**2._wp*(s_cb(i) - s_cb(i + 3))**2._wp)
2572 & 0) = 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(10._wp*(s_cb(i + 1) - s_cb(i))**2._wp &
2573 & + (s_cb(i) - s_cb(i - 1))**2._wp + (s_cb(i) - s_cb(i - 1))*(s_cb(i + 1) - s_cb(i))) &
2574 & /((s_cb(i - 1) - s_cb(i + 2))**2._wp*(s_cb(i) - s_cb(i + 2))**2._wp)
2577 & 1) = 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*((s_cb(i) - s_cb(i + 1))*((s_cb(i) &
2578 & - s_cb(i - 1)) + 20._wp*(s_cb(i + 1) - s_cb(i))) + (2._wp*(s_cb(i) - s_cb(i - 1)) &
2579 & + (s_cb(i + 1) - s_cb(i)))*(s_cb(i + 2) - s_cb(i)))/((s_cb(i + 1) - s_cb(i - 1)) &
2580 & *(s_cb(i - 1) - s_cb(i + 2))**2._wp*(s_cb(i + 2) - s_cb(i)))
2583 & 2) = 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(10._wp*(s_cb(i + 1) - s_cb(i))**2._wp &
2584 & + (s_cb(i + 1) - s_cb(i))*(s_cb(i + 2) - s_cb(i + 1)) + (s_cb(i + 2) - s_cb(i + 1)) &
2585 & **2._wp)/((s_cb(i - 1) - s_cb(i + 1))**2._wp*(s_cb(i - 1) - s_cb(i + 2))**2._wp)
2588 & 0) = 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(12._wp*(s_cb(i + 1) - s_cb(i))**2._wp &
2589 & + ((s_cb(i) - s_cb(i - 2)) + (s_cb(i) - s_cb(i - 1)))**2._wp + 3._wp*((s_cb(i) &
2590 & - s_cb(i - 2)) + (s_cb(i) - s_cb(i - 1)))*(s_cb(i + 1) - s_cb(i)))/((s_cb(i - 2) &
2591 & - s_cb(i + 1))**2._wp*(s_cb(i - 1) - s_cb(i + 1))**2._wp)
2594 & 1) = 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(19._wp*(s_cb(i + 1) - s_cb(i))**2._wp &
2595 & + ((s_cb(i) - s_cb(i - 2))*(s_cb(i) - s_cb(i + 1))) + 2._wp*(s_cb(i + 1) - s_cb(i &
2596 & - 1))*((s_cb(i) - s_cb(i - 2)) + (s_cb(i + 1) - s_cb(i - 1))))/((s_cb(i - 2) &
2597 & - s_cb(i))*(s_cb(i - 2) - s_cb(i + 1))**2._wp*(s_cb(i + 1) - s_cb(i - 1)))
2600 & 2) = 4._wp*(s_cb(i) - s_cb(i + 1))**2._wp*(10._wp*(s_cb(i + 1) - s_cb(i))**2._wp &
2601 & + (s_cb(i) - s_cb(i - 1))**2._wp + (s_cb(i) - s_cb(i - 1))*(s_cb(i + 1) - s_cb(i))) &
2602 & /((s_cb(i - 2) - s_cb(i))**2._wp*(s_cb(i - 2) - s_cb(i + 1))**2._wp)
2607 if (null_weights)
then
2608 if (bc_s%beg == bc_riemann_extrap)
then
2615 if (bc_s%end == bc_riemann_extrap)
then
2617 & s - 1)/sum(
d_cbr_z(:,s - 1))
2619 & s - 1)/sum(
d_cbl_z(:,s - 1))
2625 if (.not. teno)
then
2626 do i = is%beg - 1 + weno_polyn, is%end - 1 - weno_polyn
2639 w = s_cb(i - 3:i + 4) - s_cb(i)
2641 & i + 1) = ((w(5) - w(6))*(w(5) - w(7))*(w(5) - w(8)))/((w(1) - w(6))*(w(1) - w(7)) &
2644 & i + 1) = ((w(1) - w(5))*(w(5) - w(7))*(w(5) - w(8))*(w(1)*w(2) - w(1)*w(6) - w(1) &
2645 & *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) &
2646 & *w(8) + w(1)**2 + w(2)**2))/((w(1) - w(6))*(w(1) - w(7))*(w(1) - w(8))*(w(2) - w(7)) &
2649 & i + 1) = ((w(1) - w(5))*(w(2) - w(5))*(w(5) - w(8))*(w(1)*w(2) + w(1)*w(3) + w(2) &
2650 & *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) &
2651 & *w(8) + w(7)**2 + w(8)**2))/((w(1) - w(7))*(w(1) - w(8))*(w(2) - w(7))*(w(2) - w(8)) &
2654 & i + 1) = ((w(1) - w(5))*(w(2) - w(5))*(w(3) - w(5)))/((w(1) - w(8))*(w(2) - w(8)) &
2657 w = s_cb(i + 4:i - 3:-1) - s_cb(i)
2659 & i + 1) = ((w(1) - w(5))*(w(2) - w(5))*(w(3) - w(5)))/((w(1) - w(8))*(w(2) - w(8)) &
2662 & i + 1) = ((w(1) - w(5))*(w(2) - w(5))*(w(5) - w(8))*(w(1)*w(2) + w(1)*w(3) + w(2) &
2663 & *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) &
2664 & *w(8) + w(7)**2 + w(8)**2))/((w(1) - w(7))*(w(1) - w(8))*(w(2) - w(7))*(w(2) - w(8)) &
2667 & i + 1) = ((w(1) - w(5))*(w(5) - w(7))*(w(5) - w(8))*(w(1)*w(2) - w(1)*w(6) - w(1) &
2668 & *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) &
2669 & *w(8) + w(1)**2 + w(2)**2))/((w(1) - w(6))*(w(1) - w(7))*(w(1) - w(8))*(w(2) - w(7)) &
2672 & i + 1) = ((w(5) - w(6))*(w(5) - w(7))*(w(5) - w(8)))/((w(1) - w(6))*(w(1) - w(7)) &
2676 y = s_cb(i + 1:i + 4) - s_cb(i:i + 3)
2678 & 0) = (y(1)*y(2)*(y(2) + y(3)))/((y(3) + y(4))*(y(2) + y(3) + y(4))*(y(1) &
2679 & + y(2) + y(3) + y(4)))
2681 & 1) = -(y(1)*y(2)*(3*y(2)**2 + 6*y(2)*y(3) + 3*y(2)*y(4) + 2*y(1)*y(2) &
2682 & + 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) &
2683 & )*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
2685 & 2) = (y(1)*(y(1)**2 + 3*y(1)*y(2) + 2*y(1)*y(3) + y(4)*y(1) + 3*y(2)**2 &
2686 & + 4*y(2)*y(3) + 2*y(4)*y(2) + y(3)**2 + y(4)*y(3)))/((y(1) + y(2))*(y(1) &
2687 & + y(2) + y(3))*(y(1) + y(2) + y(3) + y(4)))
2689 y = s_cb(i:i + 3) - s_cb(i - 1:i + 2)
2691 & 0) = -(y(2)*y(3)*(y(1) + y(2)))/((y(3) + y(4))*(y(2) + y(3) + y(4))*(y(1) &
2692 & + y(2) + y(3) + y(4)))
2694 & 1) = (y(2)*(y(1) + y(2))*(y(2)**2 + 4*y(2)*y(3) + 2*y(2)*y(4) + y(1)*y(2) &
2695 & + 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) &
2696 & )*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
2698 & 2) = (y(2)*y(3)*(y(3) + y(4)))/((y(1) + y(2))*(y(1) + y(2) + y(3))*(y(1) &
2699 & + y(2) + y(3) + y(4)))
2701 y = s_cb(i - 1:i + 2) - s_cb(i - 2:i + 1)
2703 & 0) = (y(3)*(y(2) + y(3))*(y(1) + y(2) + y(3)))/((y(3) + y(4))*(y(2) + y(3) &
2704 & + y(4))*(y(1) + y(2) + y(3) + y(4)))
2706 & 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 &
2707 & + 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) &
2708 & + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
2710 & 2) = -(y(3)*y(4)*(y(2) + y(3)))/((y(1) + y(2))*(y(1) + y(2) + y(3))*(y(1) &
2711 & + y(2) + y(3) + y(4)))
2713 y = s_cb(i - 2:i + 1) - s_cb(i - 3:i)
2715 & 0) = (y(4)*(y(2)**2 + 4*y(2)*y(3) + 4*y(2)*y(4) + y(1)*y(2) + 3*y(3)**2 &
2716 & + 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) &
2717 & + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
2719 & 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) &
2720 & + 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)) &
2721 & /((y(2) + y(3))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) &
2724 & 2) = (y(4)*(y(3) + y(4))*(y(2) + y(3) + y(4)))/((y(1) + y(2))*(y(1) + y(2) &
2725 & + y(3))*(y(1) + y(2) + y(3) + y(4)))
2727 y = s_cb(i + 1:i - 2:-1) - s_cb(i:i - 3:-1)
2729 & 2) = (y(1)*y(2)*(y(2) + y(3)))/((y(3) + y(4))*(y(2) + y(3) + y(4))*(y(1) &
2730 & + y(2) + y(3) + y(4)))
2732 & 1) = -(y(1)*y(2)*(3*y(2)**2 + 6*y(2)*y(3) + 3*y(2)*y(4) + 2*y(1)*y(2) &
2733 & + 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) &
2734 & )*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
2736 & 0) = (y(1)*(y(1)**2 + 3*y(1)*y(2) + 2*y(1)*y(3) + y(4)*y(1) + 3*y(2)**2 &
2737 & + 4*y(2)*y(3) + 2*y(4)*y(2) + y(3)**2 + y(4)*y(3)))/((y(1) + y(2))*(y(1) &
2738 & + y(2) + y(3))*(y(1) + y(2) + y(3) + y(4)))
2740 y = s_cb(i + 2:i - 1:-1) - s_cb(i + 1:i - 2:-1)
2742 & 2) = -(y(2)*y(3)*(y(1) + y(2)))/((y(3) + y(4))*(y(2) + y(3) + y(4))*(y(1) &
2743 & + y(2) + y(3) + y(4)))
2745 & 1) = (y(2)*(y(1) + y(2))*(y(2)**2 + 4*y(2)*y(3) + 2*y(2)*y(4) + y(1)*y(2) &
2746 & + 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) &
2747 & )*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
2749 & 0) = (y(2)*y(3)*(y(3) + y(4)))/((y(1) + y(2))*(y(1) + y(2) + y(3))*(y(1) &
2750 & + y(2) + y(3) + y(4)))
2752 y = s_cb(i + 3:i:-1) - s_cb(i + 2:i - 1:-1)
2754 & 2) = (y(3)*(y(2) + y(3))*(y(1) + y(2) + y(3)))/((y(3) + y(4))*(y(2) + y(3) &
2755 & + y(4))*(y(1) + y(2) + y(3) + y(4)))
2757 & 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 &
2758 & + 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) &
2759 & + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
2761 & 0) = -(y(3)*y(4)*(y(2) + y(3)))/((y(1) + y(2))*(y(1) + y(2) + y(3))*(y(1) &
2762 & + y(2) + y(3) + y(4)))
2764 y = s_cb(i + 4:i + 1:-1) - s_cb(i + 3:i:-1)
2766 & 2) = (y(4)*(y(2)**2 + 4*y(2)*y(3) + 4*y(2)*y(4) + y(1)*y(2) + 3*y(3)**2 &
2767 & + 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) &
2768 & + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)))
2770 & 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) &
2771 & + 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)) &
2772 & /((y(2) + y(3))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) &
2775 & 0) = (y(4)*(y(3) + y(4))*(y(2) + y(3) + y(4)))/((y(1) + y(2))*(y(1) + y(2) &
2776 & + y(3))*(y(1) + y(2) + y(3) + y(4)))
2781 y = s_cb(i - 2:i + 1) - s_cb(i - 3:i)
2783 & 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) &
2784 & + 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) &
2785 & **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 &
2786 & + 165*y(1)*y(2)*y(3)*y(4) + 260*y(1)*y(2)*y(4)**2 + 60*y(1)*y(3)**3 + 135*y(1) &
2787 & *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) &
2788 & **3*y(3) + 30*y(2)**3*y(4) + 110*y(2)**2*y(3)**2 + 165*y(2)**2*y(3)*y(4) &
2789 & + 260*y(2)**2*y(4)**2 + 120*y(2)*y(3)**3 + 270*y(2)*y(3)**2*y(4) + 800*y(2)*y(3) &
2790 & *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) &
2791 & **2 + 675*y(3)*y(4)**3 + 996*y(4)**4))/(5*(y(3) + y(4))**2*(y(2) + y(3) + y(4)) &
2792 & **2*(y(1) + y(2) + y(3) + y(4))**2)
2794 & 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) &
2795 & **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) &
2796 & + 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) &
2797 & + 535*y(1)**2*y(2)*y(4)**2 + 90*y(1)**2*y(3)**3 + 165*y(1)**2*y(3)**2*y(4) &
2798 & + 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) &
2799 & *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) &
2800 & *y(2)**2*y(4)**2 + 360*y(1)*y(2)*y(3)**3 + 645*y(1)*y(2)*y(3)**2*y(4) + 2850*y(1) &
2801 & *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) &
2802 & **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) &
2803 & **4 + 30*y(2)**4*y(3) + 15*y(2)**4*y(4) + 180*y(2)**3*y(3)**2 + 210*y(2)**3*y(3) &
2804 & *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) &
2805 & + 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) &
2806 & *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) &
2807 & *y(4)**4 + 90*y(3)**5 + 270*y(3)**4*y(4) + 1800*y(3)**3*y(4)**2 + 2655*y(3) &
2808 & **2*y(4)**3 + 4464*y(3)*y(4)**4 + 1767*y(4)**5))/(5*(y(2) + y(3))*(y(3) + y(4)) &
2809 & *(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4))**2)
2811 & 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) &
2812 & **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) &
2813 & + 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) &
2814 & *y(4)**2 + 35*y(1)*y(2)*y(3)*y(4) + 415*y(2)*y(4)**3 + 110*y(1)*y(2)*y(4)**2 &
2815 & + 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) &
2816 & *y(3)**2*y(4) + 725*y(3)*y(4)**3 + 220*y(1)*y(3)*y(4)**2 + 1767*y(4)**4 &
2817 & + 105*y(1)*y(4)**3))/(5*(y(1) + y(2))*(y(3) + y(4))*(y(1) + y(2) + y(3))*(y(2) &
2818 & + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4))**2)
2820 & 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 &
2821 & + 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 &
2822 & + 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 &
2823 & + 200*y(1)**3*y(4)**3 + 75*y(1)**2*y(2)**2*y(3)**2 + 75*y(1)**2*y(2)**2*y(3)*y(4) &
2824 & + 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) &
2825 & **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) &
2826 & **2*y(3)**4 + 150*y(1)**2*y(3)**3*y(4) + 1390*y(1)**2*y(3)**2*y(4)**2 + 1315*y(1) &
2827 & **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) &
2828 & **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) &
2829 & *y(2)**2*y(3)**2*y(4) + 3735*y(1)*y(2)**2*y(3)*y(4)**2 + 1800*y(1)*y(2)**2*y(4) &
2830 & **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) &
2831 & **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) &
2832 & **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) &
2833 & **3 + 4529*y(1)*y(3)*y(4)**4 + 1762*y(1)*y(4)**5 + 45*y(2)**4*y(3)**2 + 45*y(2) &
2834 & **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) &
2835 & **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) &
2836 & **4 + 540*y(2)**2*y(3)**3*y(4) + 5025*y(2)**2*y(3)**2*y(4)**2 + 4755*y(2)**2*y(3) &
2837 & *y(4)**3 + 4224*y(2)**2*y(4)**4 + 180*y(2)*y(3)**5 + 450*y(2)*y(3)**4*y(4) &
2838 & + 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 &
2839 & + 3524*y(2)*y(4)**5 + 45*y(3)**6 + 135*y(3)**5*y(4) + 1395*y(3)**4*y(4)**2 &
2840 & + 2565*y(3)**3*y(4)**3 + 4884*y(3)**2*y(4)**4 + 3624*y(3)*y(4)**5 + 831*y(4)**6)) &
2841 & /(5*(y(2) + y(3))**2*(y(1) + y(2) + y(3))**2*(y(2) + y(3) + y(4))**2*(y(1) + y(2) &
2842 & + y(3) + y(4))**2)
2844 & 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) &
2845 & **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) &
2846 & **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) &
2847 & **2*y(3)*y(4) + 300*y(1)*y(2)**2*y(4)**2 + 60*y(1)*y(2)*y(3)**3 + 90*y(1)*y(2) &
2848 & *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) &
2849 & *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) &
2850 & **3 + 1762*y(1)*y(4)**4 + 30*y(2)**3*y(3)**2 + 30*y(2)**3*y(3)*y(4) + 300*y(2) &
2851 & **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) &
2852 & *y(4)**2 + 700*y(2)**2*y(4)**3 + 90*y(2)*y(3)**4 + 180*y(2)*y(3)**3*y(4) &
2853 & + 2205*y(2)*y(3)**2*y(4)**2 + 2115*y(2)*y(3)*y(4)**3 + 3624*y(2)*y(4)**4 &
2854 & + 30*y(3)**5 + 75*y(3)**4*y(4) + 1060*y(3)**3*y(4)**2 + 1515*y(3)**2*y(4)**3 &
2855 & + 3824*y(3)*y(4)**4 + 1662*y(4)**5))/(5*(y(1) + y(2))*(y(2) + y(3))*(y(1) + y(2) &
2856 & + y(3))**2*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4))**2)
2858 & 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 &
2859 & + 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) &
2860 & **3 + 5*y(3)**4 + 10*y(3)**3*y(4) + 205*y(3)**2*y(4)**2 + 200*y(3)*y(4)**3 &
2861 & + 831*y(4)**4))/(5*(y(1) + y(2))**2*(y(1) + y(2) + y(3))**2*(y(1) + y(2) + y(3) &
2864 y = s_cb(i - 1:i + 2) - s_cb(i - 2:i + 1)
2866 & 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 &
2867 & + 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) &
2868 & **3 + 5*y(2)**4 + 10*y(2)**3*y(3) + 205*y(2)**2*y(3)**2 + 200*y(2)*y(3)**3 &
2869 & + 831*y(3)**4))/(5*(y(3) + y(4))**2*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) &
2872 & 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 &
2873 & + 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) &
2874 & - 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 &
2875 & - 285*y(1)**2*y(3)**3 + 20*y(1)**2*y(3)**2*y(4) + 5*y(1)**2*y(3)*y(4)**2 &
2876 & + 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 &
2877 & + 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 &
2878 & + 100*y(1)*y(2)*y(3)**2*y(4) + 35*y(1)*y(2)*y(3)*y(4)**2 - 1847*y(1)*y(3)**4 &
2879 & + 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) &
2880 & **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 &
2881 & - 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 &
2882 & - 3694*y(2)*y(3)**4 + 250*y(2)*y(3)**3*y(4) + 220*y(2)*y(3)**2*y(4)**2 &
2883 & - 3219*y(3)**5 - 1452*y(3)**4*y(4) + 105*y(3)**3*y(4)**2))/(5*(y(2) + y(3))*(y(3) &
2884 & + y(4))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4)) &
2887 & 2) = -(4*y(3)**2*(5*y(2)**3*y(3) - 95*y(2)*y(3)**3 - 190*y(2)**2*y(3)**2 &
2888 & + 10*y(2)**3*y(4) + 100*y(3)**3*y(4) - 1562*y(3)**4 - 95*y(1)*y(2)*y(3)**2 &
2889 & + 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) &
2890 & *y(3)**2*y(4) + 15*y(2)**2*y(3)*y(4) + 10*y(1)*y(2)*y(3)*y(4)))/(5*(y(1) + y(2)) &
2891 & *(y(3) + y(4))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) &
2894 & 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 &
2895 & + 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 &
2896 & + 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 &
2897 & + 10*y(1)**3*y(4)**3 + 750*y(1)**2*y(2)**2*y(3)**2 + 75*y(1)**2*y(2)**2*y(3)*y(4) &
2898 & + 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) &
2899 & **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) &
2900 & **2*y(3)**4 - 50*y(1)**2*y(3)**3*y(4) - 10*y(1)**2*y(3)**2*y(4)**2 + 45*y(1) &
2901 & **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) &
2902 & **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) &
2903 & *y(2)**2*y(3)**2*y(4) + 315*y(1)*y(2)**2*y(3)*y(4)**2 + 90*y(1)*y(2)**2*y(4)**3 &
2904 & + 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) &
2905 & **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 &
2906 & + 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 &
2907 & + 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) &
2908 & **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) &
2909 & *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) &
2910 & + 25*y(2)**2*y(3)**2*y(4)**2 + 165*y(2)**2*y(3)*y(4)**3 + 20*y(2)**2*y(4)**4 &
2911 & + 6648*y(2)*y(3)**5 + 2814*y(2)*y(3)**4*y(4) - 200*y(2)*y(3)**3*y(4)**2 &
2912 & + 140*y(2)*y(3)**2*y(4)**3 + 30*y(2)*y(3)*y(4)**4 + 3174*y(3)**6 + 3039*y(3) &
2913 & **5*y(4) + 771*y(3)**4*y(4)**2 + 135*y(3)**3*y(4)**3 + 60*y(3)**2*y(4)**4)) &
2914 & /(5*(y(2) + y(3))**2*(y(1) + y(2) + y(3))**2*(y(2) + y(3) + y(4))**2*(y(1) + y(2) &
2915 & + y(3) + y(4))**2)
2917 & 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) &
2918 & **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) &
2919 & *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) &
2920 & *y(2)*y(3)**3 - 260*y(1)*y(2)*y(3)**2*y(4) + 50*y(1)*y(2)*y(3)*y(4)**2 + 10*y(1) &
2921 & *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) &
2922 & **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) &
2923 & **3*y(4)**2 + 400*y(2)**2*y(3)**3 - 235*y(2)**2*y(3)**2*y(4) + 85*y(2)**2*y(3) &
2924 & *y(4)**2 + 20*y(2)**2*y(4)**3 + 3224*y(2)*y(3)**4 - 460*y(2)*y(3)**3*y(4) &
2925 & - 35*y(2)*y(3)**2*y(4)**2 + 25*y(2)*y(3)*y(4)**3 + 3124*y(3)**5 + 1467*y(3) &
2926 & **4*y(4) + 110*y(3)**3*y(4)**2 + 105*y(3)**2*y(4)**3))/(5*(y(1) + y(2))*(y(2) &
2927 & + y(3))*(y(1) + y(2) + y(3))**2*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4)) &
2930 & 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 &
2931 & - 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)) &
2932 & /(5*(y(1) + y(2))**2*(y(1) + y(2) + y(3))**2*(y(1) + y(2) + y(3) + y(4))**2)
2934 y = s_cb(i:i + 3) - s_cb(i - 1:i + 2)
2936 & 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 &
2937 & - 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)) &
2938 & /(5*(y(3) + y(4))**2*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4))**2)
2940 & 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) &
2941 & *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) &
2942 & **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) &
2943 & **2*y(2)*y(3)*y(4) + 5*y(1)**2*y(2)*y(4)**2 + 30*y(1)**2*y(3)**3 + 30*y(1) &
2944 & **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) &
2945 & **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) &
2946 & **2*y(3)*y(4) - 95*y(1)*y(2)**2*y(4)**2 + 30*y(1)*y(2)*y(3)**3 + 30*y(1)*y(2) &
2947 & *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) &
2948 & + 1562*y(2)**4*y(4) + 400*y(2)**3*y(3)**2 + 200*y(2)**3*y(3)*y(4) + 300*y(2) &
2949 & **2*y(3)**3 + 300*y(2)**2*y(3)**2*y(4) + 100*y(2)**2*y(3)*y(4)**2))/(5*(y(2) &
2950 & + y(3))*(y(3) + y(4))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))**2*(y(1) + y(2) &
2951 & + y(3) + y(4))**2)
2953 & 2) = -(4*y(2)**2*(100*y(1)*y(2)**3 - 190*y(2)**2*y(3)**2 + 10*y(1)*y(3)**3 &
2954 & + 5*y(2)*y(3)**3 - 95*y(2)**3*y(3) - 1562*y(2)**4 + 15*y(1)*y(2)*y(3)**2 &
2955 & + 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) &
2956 & *y(3)**2*y(4) - 95*y(2)**2*y(3)*y(4) + 10*y(1)*y(2)*y(3)*y(4)))/(5*(y(1) + y(2)) &
2957 & *(y(3) + y(4))*(y(1) + y(2) + y(3))*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) &
2960 & 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) &
2961 & + 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) &
2962 & **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) &
2963 & **3*y(2)*y(3)**2 + 165*y(1)**3*y(2)*y(3)*y(4) + 45*y(1)**3*y(2)*y(4)**2 + 60*y(1) &
2964 & **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) &
2965 & **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) &
2966 & + 25*y(1)**2*y(2)**2*y(3)**2 + 25*y(1)**2*y(2)**2*y(3)*y(4) - 10*y(1)**2*y(2) &
2967 & **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) &
2968 & **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) &
2969 & **2*y(3)**3*y(4) + 75*y(1)**2*y(3)**2*y(4)**2 + 30*y(1)**2*y(3)*y(4)**3 + 5*y(1) &
2970 & **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) &
2971 & - 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) &
2972 & **2 + 150*y(1)*y(2)**2*y(3)**3 + 225*y(1)*y(2)**2*y(3)**2*y(4) + 125*y(1)*y(2) &
2973 & **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) &
2974 & *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) &
2975 & *y(2)*y(4)**4 + 3174*y(2)**6 + 6648*y(2)**5*y(3) + 3324*y(2)**5*y(4) + 4224*y(2) &
2976 & **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) &
2977 & **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) &
2978 & **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) &
2979 & **2 + 300*y(2)**2*y(3)*y(4)**3 + 50*y(2)**2*y(4)**4))/(5*(y(2) + y(3))**2*(y(1) &
2980 & + y(2) + y(3))**2*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4))**2)
2982 & 4) = (4*y(2)**2*(105*y(1)**2*y(2)**3 + 220*y(1)**2*y(2)**2*y(3) + 110*y(1) &
2983 & **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) &
2984 & **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) &
2985 & *y(4)**2 - 1452*y(1)*y(2)**4 + 250*y(1)*y(2)**3*y(3) + 125*y(1)*y(2)**3*y(4) &
2986 & + 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) &
2987 & **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) &
2988 & **2 + 5*y(1)*y(2)*y(4)**3 + 30*y(1)*y(3)**4 + 60*y(1)*y(3)**3*y(4) + 40*y(1)*y(3) &
2989 & **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) &
2990 & **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 &
2991 & - 550*y(2)**2*y(3)**3 - 825*y(2)**2*y(3)**2*y(4) - 465*y(2)**2*y(3)*y(4)**2 &
2992 & - 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) &
2993 & **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) &
2994 & + y(3))**2*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) + y(4))**2)
2996 & 5) = (4*y(2)**2*(831*y(2)**4 + 200*y(2)**3*y(3) + 100*y(2)**3*y(4) + 205*y(2) &
2997 & **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 &
2998 & + 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) &
2999 & + 5*y(3)**2*y(4)**2))/(5*(y(1) + y(2))**2*(y(1) + y(2) + y(3))**2*(y(1) + y(2) &
3000 & + y(3) + y(4))**2)
3002 y = s_cb(i + 1:i + 4) - s_cb(i:i + 3)
3004 & 0) = (4*y(1)**2*(831*y(1)**4 + 200*y(1)**3*y(2) + 100*y(1)**3*y(3) + 205*y(1) &
3005 & **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 &
3006 & + 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) &
3007 & + 5*y(2)**2*y(3)**2))/(5*(y(3) + y(4))**2*(y(2) + y(3) + y(4))**2*(y(1) + y(2) &
3008 & + y(3) + y(4))**2)
3010 & 1) = -(4*y(1)**2*(1662*y(1)**5 + 3824*y(1)**4*y(2) + 3624*y(1)**4*y(3) &
3011 & + 1762*y(1)**4*y(4) + 1515*y(1)**3*y(2)**2 + 2115*y(1)**3*y(2)*y(3) + 805*y(1) &
3012 & **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) &
3013 & **2 + 1060*y(1)**2*y(2)**3 + 2205*y(1)**2*y(2)**2*y(3) + 835*y(1)**2*y(2)**2*y(4) &
3014 & + 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) &
3015 & **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 &
3016 & + 75*y(1)*y(2)**4 + 180*y(1)*y(2)**3*y(3) + 60*y(1)*y(2)**3*y(4) + 135*y(1)*y(2) &
3017 & **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) &
3018 & *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 &
3019 & + 90*y(2)**4*y(3) + 30*y(2)**4*y(4) + 90*y(2)**3*y(3)**2 + 60*y(2)**3*y(3)*y(4) &
3020 & + 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) &
3021 & **2*y(3)*y(4)**2))/(5*(y(2) + y(3))*(y(3) + y(4))*(y(1) + y(2) + y(3))*(y(2) &
3022 & + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4))**2)
3024 & 2) = (4*y(1)**2*(1767*y(1)**4 + 725*y(1)**3*y(2) + 415*y(1)**3*y(3) + 105*y(4) &
3025 & *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) &
3026 & + 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) &
3027 & **2*y(3) + 35*y(4)*y(1)*y(2)**2 + 60*y(1)*y(2)*y(3)**2 + 35*y(4)*y(1)*y(2)*y(3) &
3028 & + 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) &
3029 & *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) &
3030 & *y(2)*y(3)**2))/(5*(y(1) + y(2))*(y(3) + y(4))*(y(1) + y(2) + y(3))*(y(2) + y(3) &
3031 & + y(4))*(y(1) + y(2) + y(3) + y(4))**2)
3033 & 3) = (4*y(1)**2*(831*y(1)**6 + 3624*y(1)**5*y(2) + 3524*y(1)**5*y(3) + 1762*y(1) &
3034 & **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) &
3035 & + 4224*y(1)**4*y(3)**2 + 4224*y(1)**4*y(3)*y(4) + 1081*y(1)**4*y(4)**2 &
3036 & + 2565*y(1)**3*y(2)**3 + 6120*y(1)**3*y(2)**2*y(3) + 3060*y(1)**3*y(2)**2*y(4) &
3037 & + 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) &
3038 & *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) &
3039 & *y(4)**2 + 200*y(1)**3*y(4)**3 + 1395*y(1)**2*y(2)**4 + 4380*y(1)**2*y(2)**3*y(3) &
3040 & + 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) &
3041 & **2*y(3)*y(4) + 1390*y(1)**2*y(2)**2*y(4)**2 + 2490*y(1)**2*y(2)*y(3)**3 &
3042 & + 3735*y(1)**2*y(2)*y(3)**2*y(4) + 2075*y(1)**2*y(2)*y(3)*y(4)**2 + 415*y(1) &
3043 & **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) &
3044 & **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) &
3045 & *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) &
3046 & **2 + 540*y(1)*y(2)**3*y(3)*y(4) + 150*y(1)*y(2)**3*y(4)**2 + 270*y(1)*y(2) &
3047 & **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 &
3048 & + 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) &
3049 & + 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 &
3050 & + 45*y(2)**6 + 180*y(2)**5*y(3) + 90*y(2)**5*y(4) + 270*y(2)**4*y(3)**2 &
3051 & + 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) &
3052 & **3*y(3)**2*y(4) + 150*y(2)**3*y(3)*y(4)**2 + 30*y(2)**3*y(4)**3 + 45*y(2) &
3053 & **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) &
3054 & **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)) &
3055 & **2*(y(2) + y(3) + y(4))**2*(y(1) + y(2) + y(3) + y(4))**2)
3057 & 4) = -(4*y(1)**2*(1767*y(1)**5 + 4464*y(1)**4*y(2) + 4154*y(1)**4*y(3) &
3058 & + 2077*y(1)**4*y(4) + 2655*y(1)**3*y(2)**2 + 4010*y(1)**3*y(2)*y(3) + 2005*y(1) &
3059 & **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) &
3060 & **2 + 1800*y(1)**2*y(2)**3 + 4000*y(1)**2*y(2)**2*y(3) + 2000*y(1)**2*y(2) &
3061 & **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) &
3062 & **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) &
3063 & **2*y(3)*y(4)**2 + 105*y(1)**2*y(4)**3 + 270*y(1)*y(2)**4 + 720*y(1)*y(2)**3*y(3) &
3064 & + 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) &
3065 & + 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) &
3066 & + 155*y(1)*y(2)*y(3)*y(4)**2 + 25*y(1)*y(2)*y(4)**3 + 15*y(1)*y(3)**4 + 30*y(1) &
3067 & *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 &
3068 & + 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) &
3069 & *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) &
3070 & + 130*y(2)**2*y(3)*y(4)**2 + 20*y(2)**2*y(4)**3 + 30*y(2)*y(3)**4 + 60*y(2)*y(3) &
3071 & **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)) &
3072 & *(y(2) + y(3))*(y(1) + y(2) + y(3))**2*(y(2) + y(3) + y(4))*(y(1) + y(2) + y(3) &
3075 & 5) = (4*y(1)**2*(996*y(1)**4 + 675*y(1)**3*y(2) + 450*y(1)**3*y(3) + 225*y(1) &
3076 & **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) &
3077 & + 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) &
3078 & *y(2)**3 + 270*y(1)*y(2)**2*y(3) + 135*y(1)*y(2)**2*y(4) + 165*y(1)*y(2)*y(3)**2 &
3079 & + 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) &
3080 & **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) &
3081 & + 110*y(2)**2*y(3)**2 + 110*y(2)**2*y(3)*y(4) + 20*y(2)**2*y(4)**2 + 40*y(2)*y(3) &
3082 & **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) &
3083 & + 5*y(3)**2*y(4)**2))/(5*(y(1) + y(2))**2*(y(1) + y(2) + y(3))**2*(y(1) + y(2) &
3084 & + y(3) + y(4))**2)
3102# 844 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3104 if (weno_dir == 1)
then
3106# 846 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3107#if defined(MFC_OpenACC)
3108# 846 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3110# 846 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3111#elif defined(MFC_OpenMP)
3112# 846 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3114# 846 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3116 else if (weno_dir == 2)
then
3118# 848 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3119#if defined(MFC_OpenACC)
3120# 848 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3122# 848 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3123#elif defined(MFC_OpenMP)
3124# 848 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3126# 848 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3130# 850 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3131#if defined(MFC_OpenACC)
3132# 850 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3134# 850 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3135#elif defined(MFC_OpenMP)
3136# 850 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3138# 850 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3149 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, weno_dir, is1_weno_d, &
3151 & is2_weno_d, is3_weno_d)
3153 type(scalar_field),
dimension(1:),
intent(in) :: v_vf
3154 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
3155 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
3156 integer,
intent(in) :: weno_dir
3157 type(int_bounds_info),
intent(in) :: is1_weno_d, is2_weno_d, is3_weno_d
3159# 878 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3160 real(wp),
dimension(-weno_polyn:weno_polyn - 1) :: dvd
3161 real(wp),
dimension(0:weno_num_stencils) :: poly
3162 real(wp),
dimension(0:weno_num_stencils) :: alpha
3163 real(wp),
dimension(0:weno_num_stencils) :: omega
3164 real(wp),
dimension(0:weno_num_stencils) :: beta
3165 real(wp),
dimension(0:weno_num_stencils) :: delta
3166# 885 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3167 real(wp),
dimension(-3:3) :: v
3169 integer :: i,
j,
k,
l, q
3176# 893 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3177#if defined(MFC_OpenACC)
3178# 893 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3180# 893 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3181#elif defined(MFC_OpenMP)
3182# 893 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3184# 893 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3187 if (weno_order /= 1 .or. dummy)
then
3191 if (weno_order == 1 .or. dummy)
then
3192 if (weno_dir == 1)
then
3194# 901 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3196# 901 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3197#if defined(MFC_OpenACC)
3198# 901 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3200# 901 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3201#elif defined(MFC_OpenMP)
3202# 901 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3204# 901 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3206# 901 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3208# 901 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3210# 901 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3212 do i = 1, ubound(v_vf, 1)
3216 vl_rs_vf_x(
j,
k,
l, i) = v_vf(i)%sf(
j,
k,
l)
3217 vr_rs_vf_x(
j,
k,
l, i) = v_vf(i)%sf(
j,
k,
l)
3223# 912 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3224#if defined(MFC_OpenACC)
3225# 912 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3227# 912 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3228#elif defined(MFC_OpenMP)
3229# 912 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3231# 912 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3233# 912 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3235 else if (weno_dir == 2)
then
3237# 914 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3239# 914 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3240#if defined(MFC_OpenACC)
3241# 914 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3243# 914 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3244#elif defined(MFC_OpenMP)
3245# 914 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3247# 914 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3249# 914 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3251# 914 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3253# 914 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3255 do i = 1, ubound(v_vf, 1)
3259 vl_rs_vf_y(
j,
k,
l, i) = v_vf(i)%sf(
k,
j,
l)
3260 vr_rs_vf_y(
j,
k,
l, i) = v_vf(i)%sf(
k,
j,
l)
3266# 925 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3267#if defined(MFC_OpenACC)
3268# 925 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3270# 925 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3271#elif defined(MFC_OpenMP)
3272# 925 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3274# 925 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3276# 925 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3278 else if (weno_dir == 3)
then
3280# 927 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3282# 927 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3283#if defined(MFC_OpenACC)
3284# 927 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3286# 927 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3287#elif defined(MFC_OpenMP)
3288# 927 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3290# 927 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3292# 927 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3294# 927 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3296# 927 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3298 do i = 1, ubound(v_vf, 1)
3302 vl_rs_vf_z(
j,
k,
l, i) = v_vf(i)%sf(
l,
k,
j)
3303 vr_rs_vf_z(
j,
k,
l, i) = v_vf(i)%sf(
l,
k,
j)
3309# 938 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3310#if defined(MFC_OpenACC)
3311# 938 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3313# 938 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3314#elif defined(MFC_OpenMP)
3315# 938 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3317# 938 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3319# 938 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3323 if (weno_order == 3 .or. dummy)
then
3324# 943 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3325 if (weno_dir == 1)
then
3327# 944 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3329# 944 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3330#if defined(MFC_OpenACC)
3331# 944 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3333# 944 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3334#elif defined(MFC_OpenMP)
3335# 944 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3337# 944 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3339# 944 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3341# 944 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3343# 944 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3361 beta(0) =
beta_coef_x(
j, 0, 0)*dvd(0)*dvd(0) + weno_eps
3362 beta(1) =
beta_coef_x(
j, 1, 0)*dvd(-1)*dvd(-1) + weno_eps
3365 alpha(0:weno_num_stencils) =
d_cbl_x(0:weno_num_stencils, &
3366 &
j)/(beta(0:weno_num_stencils)**2._wp)
3367 else if (mapped_weno)
then
3368 alpha(0:weno_num_stencils) =
d_cbl_x(0:weno_num_stencils, &
3369 &
j)/(beta(0:weno_num_stencils)**2._wp)
3370 omega = alpha/sum(alpha)
3371 alpha(0:weno_num_stencils) = (
d_cbl_x(0:weno_num_stencils, &
3372 &
j)*(1._wp +
d_cbl_x(0:weno_num_stencils, &
3373 &
j) - 3._wp*omega(0:weno_num_stencils)) + omega(0:weno_num_stencils)**2._wp) &
3374 & *(omega(0:weno_num_stencils)/(
d_cbl_x(0:weno_num_stencils, &
3375 &
j)**2._wp + omega(0:weno_num_stencils)*(1._wp &
3376 & - 2._wp*
d_cbl_x(0:weno_num_stencils,
j))))
3377 else if (wenoz)
then
3380 tau = abs(beta(1) - beta(0))
3381 alpha(0:weno_num_stencils) =
d_cbl_x(0:weno_num_stencils, &
3382 &
j)*(1._wp + tau/beta(0:weno_num_stencils))
3385 omega = alpha/sum(alpha)
3387 vl_rs_vf_x(
j,
k,
l, i) = omega(0)*poly(0) + omega(1)*poly(1)
3395 alpha(0:weno_num_stencils) =
d_cbr_x(0:weno_num_stencils, &
3396 &
j)/(beta(0:weno_num_stencils)**2._wp)
3397 else if (mapped_weno)
then
3398 alpha(0:weno_num_stencils) =
d_cbr_x(0:weno_num_stencils, &
3399 &
j)/(beta(0:weno_num_stencils)**2._wp)
3400 omega = alpha/sum(alpha)
3401 alpha(0:weno_num_stencils) = (
d_cbr_x(0:weno_num_stencils, &
3402 &
j)*(1._wp +
d_cbr_x(0:weno_num_stencils, &
3403 &
j) - 3._wp*omega(0:weno_num_stencils)) + omega(0:weno_num_stencils)**2._wp) &
3404 & *(omega(0:weno_num_stencils)/(
d_cbr_x(0:weno_num_stencils, &
3405 &
j)**2._wp + omega(0:weno_num_stencils)*(1._wp &
3406 & - 2._wp*
d_cbr_x(0:weno_num_stencils,
j))))
3407 else if (wenoz)
then
3408 alpha(0:weno_num_stencils) =
d_cbr_x(0:weno_num_stencils, &
3409 &
j)*(1._wp + tau/beta(0:weno_num_stencils))
3412 omega = alpha/sum(alpha)
3414 vr_rs_vf_x(
j,
k,
l, i) = omega(0)*poly(0) + omega(1)*poly(1)
3420# 1019 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3421#if defined(MFC_OpenACC)
3422# 1019 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3424# 1019 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3425#elif defined(MFC_OpenMP)
3426# 1019 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3428# 1019 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3430# 1019 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3433# 943 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3434 if (weno_dir == 2)
then
3436# 944 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3438# 944 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3439#if defined(MFC_OpenACC)
3440# 944 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3442# 944 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3443#elif defined(MFC_OpenMP)
3444# 944 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3446# 944 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3448# 944 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3450# 944 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3452# 944 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3470 beta(0) =
beta_coef_y(
j, 0, 0)*dvd(0)*dvd(0) + weno_eps
3471 beta(1) =
beta_coef_y(
j, 1, 0)*dvd(-1)*dvd(-1) + weno_eps
3474 alpha(0:weno_num_stencils) =
d_cbl_y(0:weno_num_stencils, &
3475 &
j)/(beta(0:weno_num_stencils)**2._wp)
3476 else if (mapped_weno)
then
3477 alpha(0:weno_num_stencils) =
d_cbl_y(0:weno_num_stencils, &
3478 &
j)/(beta(0:weno_num_stencils)**2._wp)
3479 omega = alpha/sum(alpha)
3480 alpha(0:weno_num_stencils) = (
d_cbl_y(0:weno_num_stencils, &
3481 &
j)*(1._wp +
d_cbl_y(0:weno_num_stencils, &
3482 &
j) - 3._wp*omega(0:weno_num_stencils)) + omega(0:weno_num_stencils)**2._wp) &
3483 & *(omega(0:weno_num_stencils)/(
d_cbl_y(0:weno_num_stencils, &
3484 &
j)**2._wp + omega(0:weno_num_stencils)*(1._wp &
3485 & - 2._wp*
d_cbl_y(0:weno_num_stencils,
j))))
3486 else if (wenoz)
then
3489 tau = abs(beta(1) - beta(0))
3490 alpha(0:weno_num_stencils) =
d_cbl_y(0:weno_num_stencils, &
3491 &
j)*(1._wp + tau/beta(0:weno_num_stencils))
3494 omega = alpha/sum(alpha)
3496 vl_rs_vf_y(
j,
k,
l, i) = omega(0)*poly(0) + omega(1)*poly(1)
3504 alpha(0:weno_num_stencils) =
d_cbr_y(0:weno_num_stencils, &
3505 &
j)/(beta(0:weno_num_stencils)**2._wp)
3506 else if (mapped_weno)
then
3507 alpha(0:weno_num_stencils) =
d_cbr_y(0:weno_num_stencils, &
3508 &
j)/(beta(0:weno_num_stencils)**2._wp)
3509 omega = alpha/sum(alpha)
3510 alpha(0:weno_num_stencils) = (
d_cbr_y(0:weno_num_stencils, &
3511 &
j)*(1._wp +
d_cbr_y(0:weno_num_stencils, &
3512 &
j) - 3._wp*omega(0:weno_num_stencils)) + omega(0:weno_num_stencils)**2._wp) &
3513 & *(omega(0:weno_num_stencils)/(
d_cbr_y(0:weno_num_stencils, &
3514 &
j)**2._wp + omega(0:weno_num_stencils)*(1._wp &
3515 & - 2._wp*
d_cbr_y(0:weno_num_stencils,
j))))
3516 else if (wenoz)
then
3517 alpha(0:weno_num_stencils) =
d_cbr_y(0:weno_num_stencils, &
3518 &
j)*(1._wp + tau/beta(0:weno_num_stencils))
3521 omega = alpha/sum(alpha)
3523 vr_rs_vf_y(
j,
k,
l, i) = omega(0)*poly(0) + omega(1)*poly(1)
3529# 1019 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3530#if defined(MFC_OpenACC)
3531# 1019 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3533# 1019 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3534#elif defined(MFC_OpenMP)
3535# 1019 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3537# 1019 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3539# 1019 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3542# 943 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3543 if (weno_dir == 3)
then
3545# 944 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3547# 944 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3548#if defined(MFC_OpenACC)
3549# 944 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3551# 944 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3552#elif defined(MFC_OpenMP)
3553# 944 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3555# 944 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3557# 944 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3559# 944 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3561# 944 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3579 beta(0) =
beta_coef_z(
j, 0, 0)*dvd(0)*dvd(0) + weno_eps
3580 beta(1) =
beta_coef_z(
j, 1, 0)*dvd(-1)*dvd(-1) + weno_eps
3583 alpha(0:weno_num_stencils) =
d_cbl_z(0:weno_num_stencils, &
3584 &
j)/(beta(0:weno_num_stencils)**2._wp)
3585 else if (mapped_weno)
then
3586 alpha(0:weno_num_stencils) =
d_cbl_z(0:weno_num_stencils, &
3587 &
j)/(beta(0:weno_num_stencils)**2._wp)
3588 omega = alpha/sum(alpha)
3589 alpha(0:weno_num_stencils) = (
d_cbl_z(0:weno_num_stencils, &
3590 &
j)*(1._wp +
d_cbl_z(0:weno_num_stencils, &
3591 &
j) - 3._wp*omega(0:weno_num_stencils)) + omega(0:weno_num_stencils)**2._wp) &
3592 & *(omega(0:weno_num_stencils)/(
d_cbl_z(0:weno_num_stencils, &
3593 &
j)**2._wp + omega(0:weno_num_stencils)*(1._wp &
3594 & - 2._wp*
d_cbl_z(0:weno_num_stencils,
j))))
3595 else if (wenoz)
then
3598 tau = abs(beta(1) - beta(0))
3599 alpha(0:weno_num_stencils) =
d_cbl_z(0:weno_num_stencils, &
3600 &
j)*(1._wp + tau/beta(0:weno_num_stencils))
3603 omega = alpha/sum(alpha)
3605 vl_rs_vf_z(
j,
k,
l, i) = omega(0)*poly(0) + omega(1)*poly(1)
3613 alpha(0:weno_num_stencils) =
d_cbr_z(0:weno_num_stencils, &
3614 &
j)/(beta(0:weno_num_stencils)**2._wp)
3615 else if (mapped_weno)
then
3616 alpha(0:weno_num_stencils) =
d_cbr_z(0:weno_num_stencils, &
3617 &
j)/(beta(0:weno_num_stencils)**2._wp)
3618 omega = alpha/sum(alpha)
3619 alpha(0:weno_num_stencils) = (
d_cbr_z(0:weno_num_stencils, &
3620 &
j)*(1._wp +
d_cbr_z(0:weno_num_stencils, &
3621 &
j) - 3._wp*omega(0:weno_num_stencils)) + omega(0:weno_num_stencils)**2._wp) &
3622 & *(omega(0:weno_num_stencils)/(
d_cbr_z(0:weno_num_stencils, &
3623 &
j)**2._wp + omega(0:weno_num_stencils)*(1._wp &
3624 & - 2._wp*
d_cbr_z(0:weno_num_stencils,
j))))
3625 else if (wenoz)
then
3626 alpha(0:weno_num_stencils) =
d_cbr_z(0:weno_num_stencils, &
3627 &
j)*(1._wp + tau/beta(0:weno_num_stencils))
3630 omega = alpha/sum(alpha)
3632 vr_rs_vf_z(
j,
k,
l, i) = omega(0)*poly(0) + omega(1)*poly(1)
3638# 1019 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3639#if defined(MFC_OpenACC)
3640# 1019 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3642# 1019 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3643#elif defined(MFC_OpenMP)
3644# 1019 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3646# 1019 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3648# 1019 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3651# 1022 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3653 if (weno_order == 5 .or. dummy)
then
3654# 1025 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3655# 1026 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3656 if (weno_dir == 1)
then
3658# 1027 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3660# 1027 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3661#if defined(MFC_OpenACC)
3662# 1027 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3664# 1027 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3665#elif defined(MFC_OpenMP)
3666# 1027 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3668# 1027 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3670# 1027 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3672# 1027 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3674# 1027 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3680# 1031 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3681#if defined(MFC_OpenACC)
3682# 1031 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3684# 1031 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3685#elif defined(MFC_OpenMP)
3686# 1031 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3688# 1031 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3711 & 1)*dvd(1)*dvd(0) +
beta_coef_x(
j, 0, 2)*dvd(0)*dvd(0) + weno_eps
3713 & 1)*dvd(0)*dvd(-1) +
beta_coef_x(
j, 1, 2)*dvd(-1)*dvd(-1) + weno_eps
3715 & 1)*dvd(-1)*dvd(-2) +
beta_coef_x(
j, 2, 2)*dvd(-2)*dvd(-2) + weno_eps
3718 alpha(0:weno_num_stencils) =
d_cbl_x(0:weno_num_stencils, &
3719 &
j)/(beta(0:weno_num_stencils)**2._wp)
3720 else if (mapped_weno)
then
3721 alpha(0:weno_num_stencils) =
d_cbl_x(0:weno_num_stencils, &
3722 &
j)/(beta(0:weno_num_stencils)**2._wp)
3723 omega = alpha/sum(alpha)
3724 alpha(0:weno_num_stencils) = (
d_cbl_x(0:weno_num_stencils, &
3725 &
j)*(1._wp +
d_cbl_x(0:weno_num_stencils, &
3726 &
j) - 3._wp*omega(0:weno_num_stencils)) + omega(0:weno_num_stencils)**2._wp) &
3727 & *(omega(0:weno_num_stencils)/(
d_cbl_x(0:weno_num_stencils, &
3728 &
j)**2._wp + omega(0:weno_num_stencils)*(1._wp &
3729 & - 2._wp*
d_cbl_x(0:weno_num_stencils,
j))))
3730 else if (wenoz)
then
3733 tau = abs(beta(2) - beta(0))
3735# 1076 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3736#if defined(MFC_OpenACC)
3737# 1076 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3739# 1076 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3740#elif defined(MFC_OpenMP)
3741# 1076 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3743# 1076 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3745 do q = 0, weno_num_stencils
3746 alpha(q) =
d_cbl_x(q,
j)*(1._wp + (tau/beta(q)))
3751 tau = abs(beta(2) - beta(0))
3753# 1084 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3754#if defined(MFC_OpenACC)
3755# 1084 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3757# 1084 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3758#elif defined(MFC_OpenMP)
3759# 1084 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3761# 1084 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3763 do q = 0, weno_num_stencils
3764 alpha(q) = 1._wp + tau/beta(q)
3765 alpha(q) = (alpha(q)**3._wp) &
3768 omega = alpha/sum(alpha)
3771# 1092 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3772#if defined(MFC_OpenACC)
3773# 1092 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3775# 1092 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3776#elif defined(MFC_OpenMP)
3777# 1092 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3779# 1092 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3781 do q = 0, weno_num_stencils
3782 if (omega(q) < teno_ct)
then
3791 omega = alpha/sum(alpha)
3793 vl_rs_vf_x(
j,
k,
l, i) = omega(0)*poly(0) + omega(1)*poly(1) + omega(2)*poly(2)
3805 alpha(0:weno_num_stencils) =
d_cbr_x(0:weno_num_stencils, &
3806 &
j)/(beta(0:weno_num_stencils)**2._wp)
3807 else if (mapped_weno)
then
3808 alpha(0:weno_num_stencils) =
d_cbr_x(0:weno_num_stencils, &
3809 &
j)/(beta(0:weno_num_stencils)**2._wp)
3810 omega = alpha/sum(alpha)
3811 alpha(0:weno_num_stencils) = (
d_cbr_x(0:weno_num_stencils, &
3812 &
j)*(1._wp +
d_cbr_x(0:weno_num_stencils, &
3813 &
j) - 3._wp*omega(0:weno_num_stencils)) + omega(0:weno_num_stencils)**2._wp) &
3814 & *(omega(0:weno_num_stencils)/(
d_cbr_x(0:weno_num_stencils, &
3815 &
j)**2._wp + omega(0:weno_num_stencils)*(1._wp &
3816 & - 2._wp*
d_cbr_x(0:weno_num_stencils,
j))))
3817 else if (wenoz)
then
3819# 1130 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3820#if defined(MFC_OpenACC)
3821# 1130 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3823# 1130 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3824#elif defined(MFC_OpenMP)
3825# 1130 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3827# 1130 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3829 do q = 0, weno_num_stencils
3830 alpha(q) =
d_cbr_x(q,
j)*(1._wp + (tau/beta(q)))
3834# 1135 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3835#if defined(MFC_OpenACC)
3836# 1135 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3838# 1135 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3839#elif defined(MFC_OpenMP)
3840# 1135 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3842# 1135 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3844 do q = 0, weno_num_stencils
3849 omega = alpha/sum(alpha)
3851 vr_rs_vf_x(
j,
k,
l, i) = omega(0)*poly(0) + omega(1)*poly(1) + omega(2)*poly(2)
3857# 1148 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3858#if defined(MFC_OpenACC)
3859# 1148 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3861# 1148 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3862#elif defined(MFC_OpenMP)
3863# 1148 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3865# 1148 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3867# 1148 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3874# 1026 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3875 if (weno_dir == 2)
then
3877# 1027 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3879# 1027 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3880#if defined(MFC_OpenACC)
3881# 1027 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3883# 1027 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3884#elif defined(MFC_OpenMP)
3885# 1027 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3887# 1027 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3889# 1027 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3891# 1027 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3893# 1027 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3899# 1031 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3900#if defined(MFC_OpenACC)
3901# 1031 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3903# 1031 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3904#elif defined(MFC_OpenMP)
3905# 1031 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3907# 1031 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3930 & 1)*dvd(1)*dvd(0) +
beta_coef_y(
j, 0, 2)*dvd(0)*dvd(0) + weno_eps
3932 & 1)*dvd(0)*dvd(-1) +
beta_coef_y(
j, 1, 2)*dvd(-1)*dvd(-1) + weno_eps
3934 & 1)*dvd(-1)*dvd(-2) +
beta_coef_y(
j, 2, 2)*dvd(-2)*dvd(-2) + weno_eps
3937 alpha(0:weno_num_stencils) =
d_cbl_y(0:weno_num_stencils, &
3938 &
j)/(beta(0:weno_num_stencils)**2._wp)
3939 else if (mapped_weno)
then
3940 alpha(0:weno_num_stencils) =
d_cbl_y(0:weno_num_stencils, &
3941 &
j)/(beta(0:weno_num_stencils)**2._wp)
3942 omega = alpha/sum(alpha)
3943 alpha(0:weno_num_stencils) = (
d_cbl_y(0:weno_num_stencils, &
3944 &
j)*(1._wp +
d_cbl_y(0:weno_num_stencils, &
3945 &
j) - 3._wp*omega(0:weno_num_stencils)) + omega(0:weno_num_stencils)**2._wp) &
3946 & *(omega(0:weno_num_stencils)/(
d_cbl_y(0:weno_num_stencils, &
3947 &
j)**2._wp + omega(0:weno_num_stencils)*(1._wp &
3948 & - 2._wp*
d_cbl_y(0:weno_num_stencils,
j))))
3949 else if (wenoz)
then
3952 tau = abs(beta(2) - beta(0))
3954# 1076 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3955#if defined(MFC_OpenACC)
3956# 1076 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3958# 1076 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3959#elif defined(MFC_OpenMP)
3960# 1076 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3962# 1076 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3964 do q = 0, weno_num_stencils
3965 alpha(q) =
d_cbl_y(q,
j)*(1._wp + (tau/beta(q)))
3970 tau = abs(beta(2) - beta(0))
3972# 1084 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3973#if defined(MFC_OpenACC)
3974# 1084 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3976# 1084 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3977#elif defined(MFC_OpenMP)
3978# 1084 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3980# 1084 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3982 do q = 0, weno_num_stencils
3983 alpha(q) = 1._wp + tau/beta(q)
3984 alpha(q) = (alpha(q)**3._wp) &
3987 omega = alpha/sum(alpha)
3990# 1092 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3991#if defined(MFC_OpenACC)
3992# 1092 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3994# 1092 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3995#elif defined(MFC_OpenMP)
3996# 1092 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
3998# 1092 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4000 do q = 0, weno_num_stencils
4001 if (omega(q) < teno_ct)
then
4010 omega = alpha/sum(alpha)
4012 vl_rs_vf_y(
j,
k,
l, i) = omega(0)*poly(0) + omega(1)*poly(1) + omega(2)*poly(2)
4024 alpha(0:weno_num_stencils) =
d_cbr_y(0:weno_num_stencils, &
4025 &
j)/(beta(0:weno_num_stencils)**2._wp)
4026 else if (mapped_weno)
then
4027 alpha(0:weno_num_stencils) =
d_cbr_y(0:weno_num_stencils, &
4028 &
j)/(beta(0:weno_num_stencils)**2._wp)
4029 omega = alpha/sum(alpha)
4030 alpha(0:weno_num_stencils) = (
d_cbr_y(0:weno_num_stencils, &
4031 &
j)*(1._wp +
d_cbr_y(0:weno_num_stencils, &
4032 &
j) - 3._wp*omega(0:weno_num_stencils)) + omega(0:weno_num_stencils)**2._wp) &
4033 & *(omega(0:weno_num_stencils)/(
d_cbr_y(0:weno_num_stencils, &
4034 &
j)**2._wp + omega(0:weno_num_stencils)*(1._wp &
4035 & - 2._wp*
d_cbr_y(0:weno_num_stencils,
j))))
4036 else if (wenoz)
then
4038# 1130 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4039#if defined(MFC_OpenACC)
4040# 1130 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4042# 1130 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4043#elif defined(MFC_OpenMP)
4044# 1130 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4046# 1130 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4048 do q = 0, weno_num_stencils
4049 alpha(q) =
d_cbr_y(q,
j)*(1._wp + (tau/beta(q)))
4053# 1135 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4054#if defined(MFC_OpenACC)
4055# 1135 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4057# 1135 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4058#elif defined(MFC_OpenMP)
4059# 1135 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4061# 1135 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4063 do q = 0, weno_num_stencils
4068 omega = alpha/sum(alpha)
4070 vr_rs_vf_y(
j,
k,
l, i) = omega(0)*poly(0) + omega(1)*poly(1) + omega(2)*poly(2)
4076# 1148 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4077#if defined(MFC_OpenACC)
4078# 1148 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4080# 1148 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4081#elif defined(MFC_OpenMP)
4082# 1148 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4084# 1148 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4086# 1148 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4093# 1026 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4094 if (weno_dir == 3)
then
4096# 1027 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4098# 1027 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4099#if defined(MFC_OpenACC)
4100# 1027 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4102# 1027 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4103#elif defined(MFC_OpenMP)
4104# 1027 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4106# 1027 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4108# 1027 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4110# 1027 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4112# 1027 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4118# 1031 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4119#if defined(MFC_OpenACC)
4120# 1031 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4122# 1031 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4123#elif defined(MFC_OpenMP)
4124# 1031 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4126# 1031 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4149 & 1)*dvd(1)*dvd(0) +
beta_coef_z(
j, 0, 2)*dvd(0)*dvd(0) + weno_eps
4151 & 1)*dvd(0)*dvd(-1) +
beta_coef_z(
j, 1, 2)*dvd(-1)*dvd(-1) + weno_eps
4153 & 1)*dvd(-1)*dvd(-2) +
beta_coef_z(
j, 2, 2)*dvd(-2)*dvd(-2) + weno_eps
4156 alpha(0:weno_num_stencils) =
d_cbl_z(0:weno_num_stencils, &
4157 &
j)/(beta(0:weno_num_stencils)**2._wp)
4158 else if (mapped_weno)
then
4159 alpha(0:weno_num_stencils) =
d_cbl_z(0:weno_num_stencils, &
4160 &
j)/(beta(0:weno_num_stencils)**2._wp)
4161 omega = alpha/sum(alpha)
4162 alpha(0:weno_num_stencils) = (
d_cbl_z(0:weno_num_stencils, &
4163 &
j)*(1._wp +
d_cbl_z(0:weno_num_stencils, &
4164 &
j) - 3._wp*omega(0:weno_num_stencils)) + omega(0:weno_num_stencils)**2._wp) &
4165 & *(omega(0:weno_num_stencils)/(
d_cbl_z(0:weno_num_stencils, &
4166 &
j)**2._wp + omega(0:weno_num_stencils)*(1._wp &
4167 & - 2._wp*
d_cbl_z(0:weno_num_stencils,
j))))
4168 else if (wenoz)
then
4171 tau = abs(beta(2) - beta(0))
4173# 1076 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4174#if defined(MFC_OpenACC)
4175# 1076 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4177# 1076 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4178#elif defined(MFC_OpenMP)
4179# 1076 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4181# 1076 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4183 do q = 0, weno_num_stencils
4184 alpha(q) =
d_cbl_z(q,
j)*(1._wp + (tau/beta(q)))
4189 tau = abs(beta(2) - beta(0))
4191# 1084 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4192#if defined(MFC_OpenACC)
4193# 1084 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4195# 1084 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4196#elif defined(MFC_OpenMP)
4197# 1084 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4199# 1084 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4201 do q = 0, weno_num_stencils
4202 alpha(q) = 1._wp + tau/beta(q)
4203 alpha(q) = (alpha(q)**3._wp) &
4206 omega = alpha/sum(alpha)
4209# 1092 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4210#if defined(MFC_OpenACC)
4211# 1092 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4213# 1092 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4214#elif defined(MFC_OpenMP)
4215# 1092 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4217# 1092 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4219 do q = 0, weno_num_stencils
4220 if (omega(q) < teno_ct)
then
4229 omega = alpha/sum(alpha)
4231 vl_rs_vf_z(
j,
k,
l, i) = omega(0)*poly(0) + omega(1)*poly(1) + omega(2)*poly(2)
4243 alpha(0:weno_num_stencils) =
d_cbr_z(0:weno_num_stencils, &
4244 &
j)/(beta(0:weno_num_stencils)**2._wp)
4245 else if (mapped_weno)
then
4246 alpha(0:weno_num_stencils) =
d_cbr_z(0:weno_num_stencils, &
4247 &
j)/(beta(0:weno_num_stencils)**2._wp)
4248 omega = alpha/sum(alpha)
4249 alpha(0:weno_num_stencils) = (
d_cbr_z(0:weno_num_stencils, &
4250 &
j)*(1._wp +
d_cbr_z(0:weno_num_stencils, &
4251 &
j) - 3._wp*omega(0:weno_num_stencils)) + omega(0:weno_num_stencils)**2._wp) &
4252 & *(omega(0:weno_num_stencils)/(
d_cbr_z(0:weno_num_stencils, &
4253 &
j)**2._wp + omega(0:weno_num_stencils)*(1._wp &
4254 & - 2._wp*
d_cbr_z(0:weno_num_stencils,
j))))
4255 else if (wenoz)
then
4257# 1130 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4258#if defined(MFC_OpenACC)
4259# 1130 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4261# 1130 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4262#elif defined(MFC_OpenMP)
4263# 1130 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4265# 1130 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4267 do q = 0, weno_num_stencils
4268 alpha(q) =
d_cbr_z(q,
j)*(1._wp + (tau/beta(q)))
4272# 1135 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4273#if defined(MFC_OpenACC)
4274# 1135 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4276# 1135 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4277#elif defined(MFC_OpenMP)
4278# 1135 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4280# 1135 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4282 do q = 0, weno_num_stencils
4287 omega = alpha/sum(alpha)
4289 vr_rs_vf_z(
j,
k,
l, i) = omega(0)*poly(0) + omega(1)*poly(1) + omega(2)*poly(2)
4295# 1148 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4296#if defined(MFC_OpenACC)
4297# 1148 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4299# 1148 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4300#elif defined(MFC_OpenMP)
4301# 1148 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4303# 1148 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4305# 1148 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4312# 1155 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4313# 1156 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4315 if (weno_order == 7 .or. dummy)
then
4316# 1159 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4317# 1160 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4318 if (weno_dir == 1)
then
4320# 1161 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4322# 1161 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4323#if defined(MFC_OpenACC)
4324# 1161 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4326# 1161 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4327#elif defined(MFC_OpenMP)
4328# 1161 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4330# 1161 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4332# 1161 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4334# 1161 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4336# 1161 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4342# 1165 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4343#if defined(MFC_OpenACC)
4344# 1165 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4346# 1165 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4347#elif defined(MFC_OpenMP)
4348# 1165 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4350# 1165 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4361 if (.not. teno)
then
4382# 1197 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4387 poly(0) = (2._wp*v(-1) + 5._wp*v(0) - 1._wp*v(1))/6._wp
4388 poly(1) = (11._wp*v(0) - 7._wp*v(1) + 2._wp*v(2))/6._wp
4389 poly(2) = (-1._wp*v(-2) + 5._wp*v(-1) + 2._wp*v(0))/6._wp
4390 poly(3) = (25._wp*v(0) - 23._wp*v(1) + 13._wp*v(2) - 3._wp*v(3))/12._wp
4391 poly(4) = (1._wp*v(-3) - 5._wp*v(-2) + 13._wp*v(-1) + 3._wp*v(0))/12._wp
4392# 1207 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4395 if (.not. teno)
then
4400 & 4)*dvd(1)*dvd(0) +
beta_coef_x(
j, 0, 5)*dvd(0)*dvd(0) + weno_eps
4406 & 4)*dvd(0)*dvd(-1) +
beta_coef_x(
j, 1, 5)*dvd(-1)*dvd(-1) + weno_eps
4412 & 4)*dvd(-1)*dvd(-2) +
beta_coef_x(
j, 2, 5)*dvd(-2)*dvd(-2) + weno_eps
4418 & 4)*dvd(-2)*dvd(-3) +
beta_coef_x(
j, 3, 5)*dvd(-3)*dvd(-3) + weno_eps
4420# 1235 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4423 beta(0) = 13._wp/12._wp*(v(-1) - 2._wp*v(0) + v(1))**2._wp + ((v(-1) - v(1)) &
4424 & **2._wp)/4._wp + weno_eps
4425 beta(1) = 13._wp/12._wp*(v(0) - 2._wp*v(1) + v(2))**2._wp + ((3._wp*v(0) &
4426 & - 4._wp*v(1) + v(2))**2._wp)/4._wp + weno_eps
4427 beta(2) = 13._wp/12._wp*(v(-2) - 2._wp*v(-1) + v(0))**2._wp + ((v(-2) &
4428 & - 4._wp*v(-1) + 3._wp*v(0))**2._wp)/4._wp + weno_eps
4430 beta(3) = (v(0)*(2107._wp*v(0) - 9402._wp*v(1) + 7042._wp*v(2) - 1854._wp*v(3)) &
4431 & + v(1)*(11003._wp*v(1) - 17246._wp*v(2) + 4642._wp*v(3)) + v(2) &
4432 & *(7043._wp*v(2) - 3882._wp*v(3)) + v(3)*(547._wp*v(3)))/240._wp + weno_eps
4434 beta(4) = (v(-3)*(547._wp*v(-3) - 3882._wp*v(-2) + 4642._wp*v(-1) - 1854._wp*v(0)) &
4435 & + v(-2)*(7043._wp*v(-2) - 17246._wp*v(-1) + 7042._wp*v(0)) + v(-1) &
4436 & *(11003._wp*v(-1) - 9402._wp*v(0)) + v(0)*(2107._wp*v(0)))/240._wp + weno_eps
4437# 1252 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4441 alpha(0:weno_num_stencils) =
d_cbl_x(0:weno_num_stencils, &
4442 &
j)/(beta(0:weno_num_stencils)**2._wp)
4443 else if (mapped_weno)
then
4444 alpha(0:weno_num_stencils) =
d_cbl_x(0:weno_num_stencils, &
4445 &
j)/(beta(0:weno_num_stencils)**2._wp)
4446 omega = alpha/sum(alpha)
4447 alpha(0:weno_num_stencils) = (
d_cbl_x(0:weno_num_stencils, &
4448 &
j)*(1._wp +
d_cbl_x(0:weno_num_stencils, &
4449 &
j) - 3._wp*omega(0:weno_num_stencils)) + omega(0:weno_num_stencils)**2._wp) &
4450 & *(omega(0:weno_num_stencils)/(
d_cbl_x(0:weno_num_stencils, &
4451 &
j)**2._wp + omega(0:weno_num_stencils)*(1._wp &
4452 & - 2._wp*
d_cbl_x(0:weno_num_stencils,
j))))
4453 else if (wenoz)
then
4455 tau = abs(beta(3) - beta(0))
4457# 1270 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4458#if defined(MFC_OpenACC)
4459# 1270 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4461# 1270 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4462#elif defined(MFC_OpenMP)
4463# 1270 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4465# 1270 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4467 do q = 0, weno_num_stencils
4469 &
j)*(1._wp + (tau/beta(q))**wenoz_q)
4472# 1277 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4473 tau = abs(beta(4) - beta(3))
4474 alpha = 1._wp + tau/beta
4475 alpha = (alpha**3._wp)**2._wp
4476 omega = alpha/sum(alpha)
4479# 1282 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4480#if defined(MFC_OpenACC)
4481# 1282 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4483# 1282 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4484#elif defined(MFC_OpenMP)
4485# 1282 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4487# 1282 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4489 do q = 0, weno_num_stencils
4490 if (omega(q) < teno_ct)
then
4497# 1292 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4500 omega = alpha/sum(alpha)
4502 vl_rs_vf_x(
j,
k,
l, &
4503 & i) = omega(0)*poly(0) + omega(1)*poly(1) + omega(2)*poly(2) + omega(3) &
4507# 1302 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4508 vl_rs_vf_x(
j,
k,
l, i) = vl_rs_vf_x(
j,
k,
l, i) + omega(4)*poly(4)
4509# 1304 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4512 if (.not. teno)
then
4526# 1321 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4527 poly(0) = (-1._wp*v(-1) + 5._wp*v(0) + 2._wp*v(1))/6._wp
4528 poly(1) = (2._wp*v(0) + 5._wp*v(1) - 1._wp*v(2))/6._wp
4529 poly(2) = (2._wp*v(-2) - 7._wp*v(-1) + 11._wp*v(0))/6._wp
4530 poly(3) = (3._wp*v(0) + 13._wp*v(1) - 5._wp*v(2) + 1._wp*v(3))/12._wp
4531 poly(4) = (-3._wp*v(-3) + 13._wp*v(-2) - 23._wp*v(-1) + 25._wp*v(0))/12._wp
4532# 1327 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4536 alpha(0:weno_num_stencils) =
d_cbr_x(0:weno_num_stencils, &
4537 &
j)/(beta(0:weno_num_stencils)**2._wp)
4538 else if (mapped_weno)
then
4539 alpha(0:weno_num_stencils) =
d_cbr_x(0:weno_num_stencils, &
4540 &
j)/(beta(0:weno_num_stencils)**2._wp)
4541 omega = alpha/sum(alpha)
4542 alpha(0:weno_num_stencils) = (
d_cbr_x(0:weno_num_stencils, &
4543 &
j)*(1._wp +
d_cbr_x(0:weno_num_stencils, &
4544 &
j) - 3._wp*omega(0:weno_num_stencils)) + omega(0:weno_num_stencils)**2._wp) &
4545 & *(omega(0:weno_num_stencils)/(
d_cbr_x(0:weno_num_stencils, &
4546 &
j)**2._wp + omega(0:weno_num_stencils)*(1._wp &
4547 & - 2._wp*
d_cbr_x(0:weno_num_stencils,
j))))
4548 else if (wenoz)
then
4550# 1343 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4551#if defined(MFC_OpenACC)
4552# 1343 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4554# 1343 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4555#elif defined(MFC_OpenMP)
4556# 1343 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4558# 1343 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4560 do q = 0, weno_num_stencils
4562 &
j)*(1._wp + (tau/beta(q))**wenoz_q)
4566# 1349 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4567#if defined(MFC_OpenACC)
4568# 1349 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4570# 1349 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4571#elif defined(MFC_OpenMP)
4572# 1349 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4574# 1349 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4576 do q = 0, weno_num_stencils
4581 omega = alpha/sum(alpha)
4583 vr_rs_vf_x(
j,
k,
l, &
4584 & i) = omega(0)*poly(0) + omega(1)*poly(1) + omega(2)*poly(2) + omega(3) &
4588# 1363 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4589 vr_rs_vf_x(
j,
k,
l, i) = vr_rs_vf_x(
j,
k,
l, i) + omega(4)*poly(4)
4590# 1365 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4597# 1370 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4598#if defined(MFC_OpenACC)
4599# 1370 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4601# 1370 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4602#elif defined(MFC_OpenMP)
4603# 1370 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4605# 1370 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4607# 1370 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4610# 1160 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4611 if (weno_dir == 2)
then
4613# 1161 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4615# 1161 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4616#if defined(MFC_OpenACC)
4617# 1161 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4619# 1161 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4620#elif defined(MFC_OpenMP)
4621# 1161 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4623# 1161 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4625# 1161 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4627# 1161 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4629# 1161 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4635# 1165 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4636#if defined(MFC_OpenACC)
4637# 1165 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4639# 1165 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4640#elif defined(MFC_OpenMP)
4641# 1165 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4643# 1165 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4654 if (.not. teno)
then
4675# 1197 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4680 poly(0) = (2._wp*v(-1) + 5._wp*v(0) - 1._wp*v(1))/6._wp
4681 poly(1) = (11._wp*v(0) - 7._wp*v(1) + 2._wp*v(2))/6._wp
4682 poly(2) = (-1._wp*v(-2) + 5._wp*v(-1) + 2._wp*v(0))/6._wp
4683 poly(3) = (25._wp*v(0) - 23._wp*v(1) + 13._wp*v(2) - 3._wp*v(3))/12._wp
4684 poly(4) = (1._wp*v(-3) - 5._wp*v(-2) + 13._wp*v(-1) + 3._wp*v(0))/12._wp
4685# 1207 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4688 if (.not. teno)
then
4693 & 4)*dvd(1)*dvd(0) +
beta_coef_y(
j, 0, 5)*dvd(0)*dvd(0) + weno_eps
4699 & 4)*dvd(0)*dvd(-1) +
beta_coef_y(
j, 1, 5)*dvd(-1)*dvd(-1) + weno_eps
4705 & 4)*dvd(-1)*dvd(-2) +
beta_coef_y(
j, 2, 5)*dvd(-2)*dvd(-2) + weno_eps
4711 & 4)*dvd(-2)*dvd(-3) +
beta_coef_y(
j, 3, 5)*dvd(-3)*dvd(-3) + weno_eps
4713# 1235 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4716 beta(0) = 13._wp/12._wp*(v(-1) - 2._wp*v(0) + v(1))**2._wp + ((v(-1) - v(1)) &
4717 & **2._wp)/4._wp + weno_eps
4718 beta(1) = 13._wp/12._wp*(v(0) - 2._wp*v(1) + v(2))**2._wp + ((3._wp*v(0) &
4719 & - 4._wp*v(1) + v(2))**2._wp)/4._wp + weno_eps
4720 beta(2) = 13._wp/12._wp*(v(-2) - 2._wp*v(-1) + v(0))**2._wp + ((v(-2) &
4721 & - 4._wp*v(-1) + 3._wp*v(0))**2._wp)/4._wp + weno_eps
4723 beta(3) = (v(0)*(2107._wp*v(0) - 9402._wp*v(1) + 7042._wp*v(2) - 1854._wp*v(3)) &
4724 & + v(1)*(11003._wp*v(1) - 17246._wp*v(2) + 4642._wp*v(3)) + v(2) &
4725 & *(7043._wp*v(2) - 3882._wp*v(3)) + v(3)*(547._wp*v(3)))/240._wp + weno_eps
4727 beta(4) = (v(-3)*(547._wp*v(-3) - 3882._wp*v(-2) + 4642._wp*v(-1) - 1854._wp*v(0)) &
4728 & + v(-2)*(7043._wp*v(-2) - 17246._wp*v(-1) + 7042._wp*v(0)) + v(-1) &
4729 & *(11003._wp*v(-1) - 9402._wp*v(0)) + v(0)*(2107._wp*v(0)))/240._wp + weno_eps
4730# 1252 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4734 alpha(0:weno_num_stencils) =
d_cbl_y(0:weno_num_stencils, &
4735 &
j)/(beta(0:weno_num_stencils)**2._wp)
4736 else if (mapped_weno)
then
4737 alpha(0:weno_num_stencils) =
d_cbl_y(0:weno_num_stencils, &
4738 &
j)/(beta(0:weno_num_stencils)**2._wp)
4739 omega = alpha/sum(alpha)
4740 alpha(0:weno_num_stencils) = (
d_cbl_y(0:weno_num_stencils, &
4741 &
j)*(1._wp +
d_cbl_y(0:weno_num_stencils, &
4742 &
j) - 3._wp*omega(0:weno_num_stencils)) + omega(0:weno_num_stencils)**2._wp) &
4743 & *(omega(0:weno_num_stencils)/(
d_cbl_y(0:weno_num_stencils, &
4744 &
j)**2._wp + omega(0:weno_num_stencils)*(1._wp &
4745 & - 2._wp*
d_cbl_y(0:weno_num_stencils,
j))))
4746 else if (wenoz)
then
4748 tau = abs(beta(3) - beta(0))
4750# 1270 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4751#if defined(MFC_OpenACC)
4752# 1270 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4754# 1270 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4755#elif defined(MFC_OpenMP)
4756# 1270 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4758# 1270 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4760 do q = 0, weno_num_stencils
4762 &
j)*(1._wp + (tau/beta(q))**wenoz_q)
4765# 1277 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4766 tau = abs(beta(4) - beta(3))
4767 alpha = 1._wp + tau/beta
4768 alpha = (alpha**3._wp)**2._wp
4769 omega = alpha/sum(alpha)
4772# 1282 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4773#if defined(MFC_OpenACC)
4774# 1282 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4776# 1282 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4777#elif defined(MFC_OpenMP)
4778# 1282 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4780# 1282 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4782 do q = 0, weno_num_stencils
4783 if (omega(q) < teno_ct)
then
4790# 1292 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4793 omega = alpha/sum(alpha)
4795 vl_rs_vf_y(
j,
k,
l, &
4796 & i) = omega(0)*poly(0) + omega(1)*poly(1) + omega(2)*poly(2) + omega(3) &
4800# 1302 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4801 vl_rs_vf_y(
j,
k,
l, i) = vl_rs_vf_y(
j,
k,
l, i) + omega(4)*poly(4)
4802# 1304 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4805 if (.not. teno)
then
4819# 1321 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4820 poly(0) = (-1._wp*v(-1) + 5._wp*v(0) + 2._wp*v(1))/6._wp
4821 poly(1) = (2._wp*v(0) + 5._wp*v(1) - 1._wp*v(2))/6._wp
4822 poly(2) = (2._wp*v(-2) - 7._wp*v(-1) + 11._wp*v(0))/6._wp
4823 poly(3) = (3._wp*v(0) + 13._wp*v(1) - 5._wp*v(2) + 1._wp*v(3))/12._wp
4824 poly(4) = (-3._wp*v(-3) + 13._wp*v(-2) - 23._wp*v(-1) + 25._wp*v(0))/12._wp
4825# 1327 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4829 alpha(0:weno_num_stencils) =
d_cbr_y(0:weno_num_stencils, &
4830 &
j)/(beta(0:weno_num_stencils)**2._wp)
4831 else if (mapped_weno)
then
4832 alpha(0:weno_num_stencils) =
d_cbr_y(0:weno_num_stencils, &
4833 &
j)/(beta(0:weno_num_stencils)**2._wp)
4834 omega = alpha/sum(alpha)
4835 alpha(0:weno_num_stencils) = (
d_cbr_y(0:weno_num_stencils, &
4836 &
j)*(1._wp +
d_cbr_y(0:weno_num_stencils, &
4837 &
j) - 3._wp*omega(0:weno_num_stencils)) + omega(0:weno_num_stencils)**2._wp) &
4838 & *(omega(0:weno_num_stencils)/(
d_cbr_y(0:weno_num_stencils, &
4839 &
j)**2._wp + omega(0:weno_num_stencils)*(1._wp &
4840 & - 2._wp*
d_cbr_y(0:weno_num_stencils,
j))))
4841 else if (wenoz)
then
4843# 1343 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4844#if defined(MFC_OpenACC)
4845# 1343 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4847# 1343 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4848#elif defined(MFC_OpenMP)
4849# 1343 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4851# 1343 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4853 do q = 0, weno_num_stencils
4855 &
j)*(1._wp + (tau/beta(q))**wenoz_q)
4859# 1349 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4860#if defined(MFC_OpenACC)
4861# 1349 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4863# 1349 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4864#elif defined(MFC_OpenMP)
4865# 1349 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4867# 1349 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4869 do q = 0, weno_num_stencils
4874 omega = alpha/sum(alpha)
4876 vr_rs_vf_y(
j,
k,
l, &
4877 & i) = omega(0)*poly(0) + omega(1)*poly(1) + omega(2)*poly(2) + omega(3) &
4881# 1363 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4882 vr_rs_vf_y(
j,
k,
l, i) = vr_rs_vf_y(
j,
k,
l, i) + omega(4)*poly(4)
4883# 1365 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4890# 1370 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4891#if defined(MFC_OpenACC)
4892# 1370 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4894# 1370 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4895#elif defined(MFC_OpenMP)
4896# 1370 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4898# 1370 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4900# 1370 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4903# 1160 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4904 if (weno_dir == 3)
then
4906# 1161 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4908# 1161 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4909#if defined(MFC_OpenACC)
4910# 1161 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4912# 1161 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4913#elif defined(MFC_OpenMP)
4914# 1161 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4916# 1161 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4918# 1161 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4920# 1161 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4922# 1161 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4928# 1165 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4929#if defined(MFC_OpenACC)
4930# 1165 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4932# 1165 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4933#elif defined(MFC_OpenMP)
4934# 1165 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4936# 1165 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4947 if (.not. teno)
then
4968# 1197 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4973 poly(0) = (2._wp*v(-1) + 5._wp*v(0) - 1._wp*v(1))/6._wp
4974 poly(1) = (11._wp*v(0) - 7._wp*v(1) + 2._wp*v(2))/6._wp
4975 poly(2) = (-1._wp*v(-2) + 5._wp*v(-1) + 2._wp*v(0))/6._wp
4976 poly(3) = (25._wp*v(0) - 23._wp*v(1) + 13._wp*v(2) - 3._wp*v(3))/12._wp
4977 poly(4) = (1._wp*v(-3) - 5._wp*v(-2) + 13._wp*v(-1) + 3._wp*v(0))/12._wp
4978# 1207 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
4981 if (.not. teno)
then
4986 & 4)*dvd(1)*dvd(0) +
beta_coef_z(
j, 0, 5)*dvd(0)*dvd(0) + weno_eps
4992 & 4)*dvd(0)*dvd(-1) +
beta_coef_z(
j, 1, 5)*dvd(-1)*dvd(-1) + weno_eps
4998 & 4)*dvd(-1)*dvd(-2) +
beta_coef_z(
j, 2, 5)*dvd(-2)*dvd(-2) + weno_eps
5004 & 4)*dvd(-2)*dvd(-3) +
beta_coef_z(
j, 3, 5)*dvd(-3)*dvd(-3) + weno_eps
5006# 1235 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
5009 beta(0) = 13._wp/12._wp*(v(-1) - 2._wp*v(0) + v(1))**2._wp + ((v(-1) - v(1)) &
5010 & **2._wp)/4._wp + weno_eps
5011 beta(1) = 13._wp/12._wp*(v(0) - 2._wp*v(1) + v(2))**2._wp + ((3._wp*v(0) &
5012 & - 4._wp*v(1) + v(2))**2._wp)/4._wp + weno_eps
5013 beta(2) = 13._wp/12._wp*(v(-2) - 2._wp*v(-1) + v(0))**2._wp + ((v(-2) &
5014 & - 4._wp*v(-1) + 3._wp*v(0))**2._wp)/4._wp + weno_eps
5016 beta(3) = (v(0)*(2107._wp*v(0) - 9402._wp*v(1) + 7042._wp*v(2) - 1854._wp*v(3)) &
5017 & + v(1)*(11003._wp*v(1) - 17246._wp*v(2) + 4642._wp*v(3)) + v(2) &
5018 & *(7043._wp*v(2) - 3882._wp*v(3)) + v(3)*(547._wp*v(3)))/240._wp + weno_eps
5020 beta(4) = (v(-3)*(547._wp*v(-3) - 3882._wp*v(-2) + 4642._wp*v(-1) - 1854._wp*v(0)) &
5021 & + v(-2)*(7043._wp*v(-2) - 17246._wp*v(-1) + 7042._wp*v(0)) + v(-1) &
5022 & *(11003._wp*v(-1) - 9402._wp*v(0)) + v(0)*(2107._wp*v(0)))/240._wp + weno_eps
5023# 1252 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
5027 alpha(0:weno_num_stencils) =
d_cbl_z(0:weno_num_stencils, &
5028 &
j)/(beta(0:weno_num_stencils)**2._wp)
5029 else if (mapped_weno)
then
5030 alpha(0:weno_num_stencils) =
d_cbl_z(0:weno_num_stencils, &
5031 &
j)/(beta(0:weno_num_stencils)**2._wp)
5032 omega = alpha/sum(alpha)
5033 alpha(0:weno_num_stencils) = (
d_cbl_z(0:weno_num_stencils, &
5034 &
j)*(1._wp +
d_cbl_z(0:weno_num_stencils, &
5035 &
j) - 3._wp*omega(0:weno_num_stencils)) + omega(0:weno_num_stencils)**2._wp) &
5036 & *(omega(0:weno_num_stencils)/(
d_cbl_z(0:weno_num_stencils, &
5037 &
j)**2._wp + omega(0:weno_num_stencils)*(1._wp &
5038 & - 2._wp*
d_cbl_z(0:weno_num_stencils,
j))))
5039 else if (wenoz)
then
5041 tau = abs(beta(3) - beta(0))
5043# 1270 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
5044#if defined(MFC_OpenACC)
5045# 1270 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
5047# 1270 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
5048#elif defined(MFC_OpenMP)
5049# 1270 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
5051# 1270 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
5053 do q = 0, weno_num_stencils
5055 &
j)*(1._wp + (tau/beta(q))**wenoz_q)
5058# 1277 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
5059 tau = abs(beta(4) - beta(3))
5060 alpha = 1._wp + tau/beta
5061 alpha = (alpha**3._wp)**2._wp
5062 omega = alpha/sum(alpha)
5065# 1282 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
5066#if defined(MFC_OpenACC)
5067# 1282 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
5069# 1282 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
5070#elif defined(MFC_OpenMP)
5071# 1282 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
5073# 1282 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
5075 do q = 0, weno_num_stencils
5076 if (omega(q) < teno_ct)
then
5083# 1292 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
5086 omega = alpha/sum(alpha)
5088 vl_rs_vf_z(
j,
k,
l, &
5089 & i) = omega(0)*poly(0) + omega(1)*poly(1) + omega(2)*poly(2) + omega(3) &
5093# 1302 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
5094 vl_rs_vf_z(
j,
k,
l, i) = vl_rs_vf_z(
j,
k,
l, i) + omega(4)*poly(4)
5095# 1304 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
5098 if (.not. teno)
then
5112# 1321 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
5113 poly(0) = (-1._wp*v(-1) + 5._wp*v(0) + 2._wp*v(1))/6._wp
5114 poly(1) = (2._wp*v(0) + 5._wp*v(1) - 1._wp*v(2))/6._wp
5115 poly(2) = (2._wp*v(-2) - 7._wp*v(-1) + 11._wp*v(0))/6._wp
5116 poly(3) = (3._wp*v(0) + 13._wp*v(1) - 5._wp*v(2) + 1._wp*v(3))/12._wp
5117 poly(4) = (-3._wp*v(-3) + 13._wp*v(-2) - 23._wp*v(-1) + 25._wp*v(0))/12._wp
5118# 1327 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
5122 alpha(0:weno_num_stencils) =
d_cbr_z(0:weno_num_stencils, &
5123 &
j)/(beta(0:weno_num_stencils)**2._wp)
5124 else if (mapped_weno)
then
5125 alpha(0:weno_num_stencils) =
d_cbr_z(0:weno_num_stencils, &
5126 &
j)/(beta(0:weno_num_stencils)**2._wp)
5127 omega = alpha/sum(alpha)
5128 alpha(0:weno_num_stencils) = (
d_cbr_z(0:weno_num_stencils, &
5129 &
j)*(1._wp +
d_cbr_z(0:weno_num_stencils, &
5130 &
j) - 3._wp*omega(0:weno_num_stencils)) + omega(0:weno_num_stencils)**2._wp) &
5131 & *(omega(0:weno_num_stencils)/(
d_cbr_z(0:weno_num_stencils, &
5132 &
j)**2._wp + omega(0:weno_num_stencils)*(1._wp &
5133 & - 2._wp*
d_cbr_z(0:weno_num_stencils,
j))))
5134 else if (wenoz)
then
5136# 1343 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
5137#if defined(MFC_OpenACC)
5138# 1343 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
5140# 1343 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
5141#elif defined(MFC_OpenMP)
5142# 1343 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
5144# 1343 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
5146 do q = 0, weno_num_stencils
5148 &
j)*(1._wp + (tau/beta(q))**wenoz_q)
5152# 1349 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
5153#if defined(MFC_OpenACC)
5154# 1349 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
5156# 1349 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
5157#elif defined(MFC_OpenMP)
5158# 1349 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
5160# 1349 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
5162 do q = 0, weno_num_stencils
5167 omega = alpha/sum(alpha)
5169 vr_rs_vf_z(
j,
k,
l, &
5170 & i) = omega(0)*poly(0) + omega(1)*poly(1) + omega(2)*poly(2) + omega(3) &
5174# 1363 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
5175 vr_rs_vf_z(
j,
k,
l, i) = vr_rs_vf_z(
j,
k,
l, i) + omega(4)*poly(4)
5176# 1365 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
5183# 1370 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
5184#if defined(MFC_OpenACC)
5185# 1370 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
5187# 1370 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
5188#elif defined(MFC_OpenMP)
5189# 1370 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
5191# 1370 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
5193# 1370 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
5196# 1373 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
5197# 1374 "/home/runner/work/MFC/MFC/src/simulation/m_weno.fpp"
5201 call s_interface_compression(vl_rs_vf_x, vl_rs_vf_y, vl_rs_vf_z, vr_rs_vf_x, vr_rs_vf_y, vr_rs_vf_z, weno_dir, &
5202 & is1_weno_d, is2_weno_d, is3_weno_d)