868 integer,
intent(in) :: idir
869 type(scalar_field),
dimension(sys_size),
intent(in) :: q_prim_vf
870 type(scalar_field),
intent(inout) :: divu_in
876# 102 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
878# 102 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
879#if defined(MFC_OpenACC)
880# 102 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
882# 102 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
883#elif defined(MFC_OpenMP)
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"
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"
892# 102 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
897 divu_in%sf(j, k, l) = 0._wp
898 divu_in%sf(j, k, l) = 5.e-1_wp/dx(j)*(q_prim_vf(eqn_idx%cont%end + idir)%sf(j + 1, k, &
899 & l) - q_prim_vf(eqn_idx%cont%end + idir)%sf(j - 1, k, l))
904# 112 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
905#if defined(MFC_OpenACC)
906# 112 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
908# 112 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
909#elif defined(MFC_OpenMP)
910# 112 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
912# 112 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
914# 112 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
917 else if (idir == 2)
then
919# 115 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
921# 115 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
922#if defined(MFC_OpenACC)
923# 115 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
925# 115 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
926#elif defined(MFC_OpenMP)
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"
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"
935# 115 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
940 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, &
941 & k + 1, l) - q_prim_vf(eqn_idx%cont%end + idir)%sf(j, k - 1, l))
946# 124 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
947#if defined(MFC_OpenACC)
948# 124 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
950# 124 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
951#elif defined(MFC_OpenMP)
952# 124 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
954# 124 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
956# 124 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
958 else if (idir == 3)
then
960# 126 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
962# 126 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
963#if defined(MFC_OpenACC)
964# 126 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
966# 126 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
967#elif defined(MFC_OpenMP)
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"
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"
976# 126 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
981 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, &
982 & l + 1) - q_prim_vf(eqn_idx%cont%end + idir)%sf(j, k, l - 1))
987# 135 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
988#if defined(MFC_OpenACC)
989# 135 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
991# 135 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
992#elif defined(MFC_OpenMP)
993# 135 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
995# 135 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
997# 135 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1006 type(scalar_field),
dimension(sys_size),
intent(inout) ::
q_cons_vf
1007 type(scalar_field),
dimension(sys_size),
intent(in) :: q_prim_vf
1008 type(scalar_field),
dimension(sys_size),
intent(inout) :: rhs_vf
1009 type(scalar_field),
intent(in) :: divu_in
1011 real(wp) :: pb_local, mv_local, vflux, pbdot
1012 real(wp) :: n_tait, b_tait
1014# 155 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1015 real(wp),
dimension(nb) :: rtmp, vtmp
1016 real(wp),
dimension(num_fluids) :: myalpha, myalpha_rho
1017# 158 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1018 real(wp) :: myr, myv, alf, myp, myrho, r2vav, r3
1020 integer :: i,
j,
k,
l, q, ii
1021 integer :: adap_dt_stop_max, adap_dt_stop
1023 real(wp) :: dmmass_v, dmmass_n, dmbeta_c, dmbeta_t, dmcson
1026# 165 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1028# 165 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1029#if defined(MFC_OpenACC)
1030# 165 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1032# 165 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1033#elif defined(MFC_OpenMP)
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"
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"
1042# 165 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1050# 171 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1051#if defined(MFC_OpenACC)
1052# 171 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1054# 171 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1055#elif defined(MFC_OpenMP)
1056# 171 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1058# 171 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1070# 181 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1071#if defined(MFC_OpenACC)
1072# 181 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1074# 181 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1075#elif defined(MFC_OpenMP)
1076# 181 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1078# 181 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1080# 181 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1083 adap_dt_stop_max = 0
1085# 184 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1087# 184 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1088#if defined(MFC_OpenACC)
1089# 184 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1091# 184 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1092#elif defined(MFC_OpenMP)
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"
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# 187 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1108 nbub = q_prim_vf(eqn_idx%n)%sf(
j,
k,
l)
1111# 193 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1112#if defined(MFC_OpenACC)
1113# 193 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1115# 193 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1116#elif defined(MFC_OpenMP)
1117# 193 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1119# 193 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1122 rtmp(q) = q_prim_vf(
rs(q))%sf(
j,
k,
l)
1123 vtmp(q) = q_prim_vf(
vs(q))%sf(
j,
k,
l)
1129# 201 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1130#if defined(MFC_OpenACC)
1131# 201 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1133# 201 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1134#elif defined(MFC_OpenMP)
1135# 201 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1137# 201 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1140 r3 = r3 + weight(q)*rtmp(q)**3._wp
1143 nbub = (3._wp/(4._wp*pi))*q_prim_vf(eqn_idx%alf)%sf(
j,
k,
l)/r3
1146 if (.not. adap_dt)
then
1150# 212 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1151#if defined(MFC_OpenACC)
1152# 212 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1154# 212 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1155#elif defined(MFC_OpenMP)
1156# 212 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1158# 212 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1161 r2vav = r2vav + weight(q)*rtmp(q)**2._wp*vtmp(q)
1168# 220 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1169#if defined(MFC_OpenACC)
1170# 220 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1172# 220 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1173#elif defined(MFC_OpenMP)
1174# 220 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1176# 220 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1180# 222 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1181#if defined(MFC_OpenACC)
1182# 222 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1184# 222 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1185#elif defined(MFC_OpenMP)
1186# 222 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1188# 222 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1190 do ii = 1, num_fluids
1192 myalpha(ii) =
q_cons_vf(eqn_idx%adv%beg + ii - 1)%sf(
j,
k,
l)
1195 if (num_fluids == 1)
then
1196 myrho = myalpha_rho(1)
1198 b_tait = pi_infs(1)/pi_fac
1205# 237 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1206#if defined(MFC_OpenACC)
1207# 237 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1209# 237 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1210#elif defined(MFC_OpenMP)
1211# 237 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1213# 237 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1215 do ii = 1, num_fluids
1216 myrho = myrho + myalpha_rho(ii)
1217 n_tait = n_tait + myalpha(ii)*gammas(ii)
1218 b_tait = b_tait + myalpha(ii)*pi_infs(ii)/pi_fac
1222 n_tait = 1._wp/n_tait + 1._wp
1223 b_tait = b_tait*(n_tait - 1)/n_tait
1225 myp = q_prim_vf(eqn_idx%E)%sf(
j,
k,
l)
1226 alf = q_prim_vf(eqn_idx%alf)%sf(
j,
k,
l)
1227 myr = q_prim_vf(
rs(q))%sf(
j,
k,
l)
1228 myv = q_prim_vf(
vs(q))%sf(
j,
k,
l)
1230 if (alf < small_alf)
then
1234 if (.not. polytropic)
then
1239 if (.not. polytropic)
then
1240 pb_local = q_prim_vf(
ps(q))%sf(
j,
k,
l)
1241 mv_local = q_prim_vf(
ms(q))%sf(
j,
k,
l)
1242 call s_bwproperty(pb_local, q, chi_vw, k_mw, rho_mw)
1243 call s_vflux(myr, myv, pb_local, mv_local, q, vflux)
1244 pbdot = f_bpres_dot(vflux, myr, myv, pb_local, mv_local, q)
1246 bub_m_src(
j,
k,
l, q) = nbub*vflux*4._wp*pi*(myr**2._wp)
1248 pb_local = 0._wp; mv_local = 0._wp; vflux = 0._wp; pbdot = 0._wp
1255 call s_advance_step(myrho, myp, myr, myv, r0(q), pb_local, pbdot, alf, n_tait, b_tait, &
1257 & dmbeta_c, dmbeta_t, dmcson, adap_dt_stop)
1262 adap_dt_stop_max = max(adap_dt_stop_max, adap_dt_stop)
1264 rddot = f_rddot(myrho, myp, myr, myv, r0(q), pb_local, pbdot, alf, n_tait, b_tait,
bub_adv_src(
j, &
1265 &
k,
l), divu_in%sf(
j,
k,
l), dmcson)
1275# 297 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1276#if defined(MFC_OpenACC)
1277# 297 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1279# 297 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1280#elif defined(MFC_OpenMP)
1281# 297 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1283# 297 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1285# 297 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1288 if (adap_dt .and. adap_dt_stop_max > 0)
call s_mpi_abort(
"Adaptive time stepping failed to converge.")
1290 if (.not. adap_dt)
then
1292# 302 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1294# 302 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1295#if defined(MFC_OpenACC)
1296# 302 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1298# 302 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1299#elif defined(MFC_OpenMP)
1300# 302 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1302# 302 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1304# 302 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1306# 302 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1308# 302 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1313 rhs_vf(eqn_idx%alf)%sf(i, q,
l) = rhs_vf(eqn_idx%alf)%sf(i, q,
l) +
bub_adv_src(i, q,
l)
1314 if (num_fluids > 1) rhs_vf(eqn_idx%adv%beg)%sf(i, q,
l) = rhs_vf(eqn_idx%adv%beg)%sf(i, q, &
1317# 309 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1318#if defined(MFC_OpenACC)
1319# 309 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1321# 309 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1322#elif defined(MFC_OpenMP)
1323# 309 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1325# 309 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1330 if (polytropic .neqv. .true.)
then
1339# 321 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1340#if defined(MFC_OpenACC)
1341# 321 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1343# 321 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1344#elif defined(MFC_OpenMP)
1345# 321 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1347# 321 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1349# 321 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"