876 integer,
intent(in) :: idir
877 type(scalar_field),
dimension(sys_size),
intent(in) :: q_prim_vf
878 type(scalar_field),
intent(inout) :: divu_in
884# 102 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
886# 102 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
887#if defined(MFC_OpenACC)
888# 102 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
890# 102 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
891#elif defined(MFC_OpenMP)
892# 102 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
894# 102 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
896# 102 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
898# 102 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
900# 102 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
905 divu_in%sf(j, k, l) = 0._wp
906 divu_in%sf(j, k, l) = 5.e-1_wp/dx(j)*(q_prim_vf(eqn_idx%cont%end + idir)%sf(j + 1, k, &
907 & l) - q_prim_vf(eqn_idx%cont%end + idir)%sf(j - 1, k, l))
912# 112 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
913#if defined(MFC_OpenACC)
914# 112 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
916# 112 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
917#elif defined(MFC_OpenMP)
918# 112 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
920# 112 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
922# 112 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
925 else if (idir == 2)
then
927# 115 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
929# 115 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
930#if defined(MFC_OpenACC)
931# 115 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
933# 115 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
934#elif defined(MFC_OpenMP)
935# 115 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
937# 115 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
939# 115 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
941# 115 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
943# 115 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
948 divu_in%sf(j, k, l) = divu_in%sf(j, k, l) + 5.e-1_wp/dy(k)*(q_prim_vf(eqn_idx%cont%end + idir)%sf(j, &
949 & k + 1, l) - q_prim_vf(eqn_idx%cont%end + idir)%sf(j, k - 1, l))
954# 124 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
955#if defined(MFC_OpenACC)
956# 124 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
958# 124 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
959#elif defined(MFC_OpenMP)
960# 124 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
962# 124 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
964# 124 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
966 else if (idir == 3)
then
968# 126 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
970# 126 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
971#if defined(MFC_OpenACC)
972# 126 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
974# 126 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
975#elif defined(MFC_OpenMP)
976# 126 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
978# 126 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
980# 126 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
982# 126 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
984# 126 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
989 divu_in%sf(j, k, l) = divu_in%sf(j, k, l) + 5.e-1_wp/dz(l)*(q_prim_vf(eqn_idx%cont%end + idir)%sf(j, k, &
990 & l + 1) - q_prim_vf(eqn_idx%cont%end + idir)%sf(j, k, l - 1))
995# 135 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
996#if defined(MFC_OpenACC)
997# 135 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
999# 135 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1000#elif defined(MFC_OpenMP)
1001# 135 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1003# 135 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1005# 135 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1014 type(scalar_field),
dimension(sys_size),
intent(inout) ::
q_cons_vf
1015 type(scalar_field),
dimension(sys_size),
intent(in) :: q_prim_vf
1016 type(scalar_field),
dimension(sys_size),
intent(inout) :: rhs_vf
1017 type(scalar_field),
intent(in) :: divu_in
1019 real(wp) :: pb_local, mv_local, vflux, pbdot
1020 real(wp) :: n_tait, b_tait
1022# 155 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1023 real(wp),
dimension(nb) :: rtmp, vtmp
1024 real(wp),
dimension(num_fluids) :: myalpha, myalpha_rho
1025# 158 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1026 real(wp) :: myr, myv, alf, myp, myrho, r2vav, r3
1028 integer :: i,
j,
k,
l, q, ii
1029 integer :: adap_dt_stop_max, adap_dt_stop
1031 real(wp) :: dmmass_v, dmmass_n, dmbeta_c, dmbeta_t, dmcson
1034# 165 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1036# 165 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1037#if defined(MFC_OpenACC)
1038# 165 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1040# 165 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1041#elif defined(MFC_OpenMP)
1042# 165 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1044# 165 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1046# 165 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1048# 165 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1050# 165 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1058# 171 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1059#if defined(MFC_OpenACC)
1060# 171 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1062# 171 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1063#elif defined(MFC_OpenMP)
1064# 171 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1066# 171 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1078# 181 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1079#if defined(MFC_OpenACC)
1080# 181 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1082# 181 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1083#elif defined(MFC_OpenMP)
1084# 181 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1086# 181 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1088# 181 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1091 adap_dt_stop_max = 0
1093# 184 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1095# 184 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1096#if defined(MFC_OpenACC)
1097# 184 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1099# 184 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1101# 184 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1103# 184 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1104#elif defined(MFC_OpenMP)
1105# 184 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1107# 184 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1109# 184 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1111# 184 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1113# 184 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1115# 184 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1117# 184 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1119# 187 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1124 nbub = q_prim_vf(eqn_idx%n)%sf(
j,
k,
l)
1127# 193 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1128#if defined(MFC_OpenACC)
1129# 193 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1131# 193 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1132#elif defined(MFC_OpenMP)
1133# 193 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1135# 193 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1138 rtmp(q) = q_prim_vf(
rs(q))%sf(
j,
k,
l)
1139 vtmp(q) = q_prim_vf(
vs(q))%sf(
j,
k,
l)
1145# 201 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1146#if defined(MFC_OpenACC)
1147# 201 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1149# 201 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1150#elif defined(MFC_OpenMP)
1151# 201 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1153# 201 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1156 r3 = r3 + weight(q)*rtmp(q)**3._wp
1159 nbub = (3._wp/(4._wp*pi))*q_prim_vf(eqn_idx%alf)%sf(
j,
k,
l)/r3
1162 if (.not. adap_dt)
then
1166# 212 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1167#if defined(MFC_OpenACC)
1168# 212 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1170# 212 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1171#elif defined(MFC_OpenMP)
1172# 212 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1174# 212 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1177 r2vav = r2vav + weight(q)*rtmp(q)**2._wp*vtmp(q)
1184# 220 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1185#if defined(MFC_OpenACC)
1186# 220 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1188# 220 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1189#elif defined(MFC_OpenMP)
1190# 220 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1192# 220 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1196# 222 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1197#if defined(MFC_OpenACC)
1198# 222 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1200# 222 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1201#elif defined(MFC_OpenMP)
1202# 222 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1204# 222 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1206 do ii = 1, num_fluids
1208 myalpha(ii) =
q_cons_vf(eqn_idx%adv%beg + ii - 1)%sf(
j,
k,
l)
1211 if (num_fluids == 1)
then
1212 myrho = myalpha_rho(1)
1214 b_tait = pi_infs(1)/pi_fac
1221# 237 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1222#if defined(MFC_OpenACC)
1223# 237 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1225# 237 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1226#elif defined(MFC_OpenMP)
1227# 237 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1229# 237 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1231 do ii = 1, num_fluids
1232 myrho = myrho + myalpha_rho(ii)
1233 n_tait = n_tait + myalpha(ii)*gammas(ii)
1234 b_tait = b_tait + myalpha(ii)*pi_infs(ii)/pi_fac
1238 n_tait = 1._wp/n_tait + 1._wp
1239 b_tait = b_tait*(n_tait - 1)/n_tait
1241 myp = q_prim_vf(eqn_idx%E)%sf(
j,
k,
l)
1242 alf = q_prim_vf(eqn_idx%alf)%sf(
j,
k,
l)
1243 myr = q_prim_vf(
rs(q))%sf(
j,
k,
l)
1244 myv = q_prim_vf(
vs(q))%sf(
j,
k,
l)
1246 if (alf < small_alf)
then
1250 if (.not. polytropic)
then
1255 if (.not. polytropic)
then
1256 pb_local = q_prim_vf(
ps(q))%sf(
j,
k,
l)
1257 mv_local = q_prim_vf(
ms(q))%sf(
j,
k,
l)
1258 call s_bwproperty(pb_local, q, chi_vw, k_mw, rho_mw)
1259 call s_vflux(myr, myv, pb_local, mv_local, q, vflux)
1260 pbdot = f_bpres_dot(vflux, myr, myv, pb_local, mv_local, q)
1262 bub_m_src(
j,
k,
l, q) = nbub*vflux*4._wp*pi*(myr**2._wp)
1264 pb_local = 0._wp; mv_local = 0._wp; vflux = 0._wp; pbdot = 0._wp
1271 call s_advance_step(myrho, myp, myr, myv, r0(q), pb_local, pbdot, alf, n_tait, b_tait, &
1273 & dmbeta_c, dmbeta_t, dmcson, adap_dt_stop)
1278 adap_dt_stop_max = max(adap_dt_stop_max, adap_dt_stop)
1280 rddot = f_rddot(myrho, myp, myr, myv, r0(q), pb_local, pbdot, alf, n_tait, b_tait,
bub_adv_src(
j, &
1281 &
k,
l), divu_in%sf(
j,
k,
l), dmcson)
1291# 297 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1292#if defined(MFC_OpenACC)
1293# 297 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1295# 297 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1296#elif defined(MFC_OpenMP)
1297# 297 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1299# 297 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1301# 297 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1304 if (adap_dt .and. adap_dt_stop_max > 0)
call s_mpi_abort(
"Adaptive time stepping failed to converge.")
1306 if (.not. adap_dt)
then
1308# 302 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1310# 302 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1311#if defined(MFC_OpenACC)
1312# 302 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1314# 302 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1315#elif defined(MFC_OpenMP)
1316# 302 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1318# 302 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1320# 302 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1322# 302 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1324# 302 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1329 rhs_vf(eqn_idx%alf)%sf(i, q,
l) = rhs_vf(eqn_idx%alf)%sf(i, q,
l) +
bub_adv_src(i, q,
l)
1330 if (num_fluids > 1) rhs_vf(eqn_idx%adv%beg)%sf(i, q,
l) = rhs_vf(eqn_idx%adv%beg)%sf(i, q, &
1333# 309 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1334#if defined(MFC_OpenACC)
1335# 309 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1337# 309 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1338#elif defined(MFC_OpenMP)
1339# 309 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1341# 309 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1346 if (polytropic .neqv. .true.)
then
1355# 321 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1356#if defined(MFC_OpenACC)
1357# 321 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1359# 321 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1360#elif defined(MFC_OpenMP)
1361# 321 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1363# 321 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1365# 321 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"