861 integer,
intent(in) :: idir
862 type(scalar_field),
dimension(sys_size),
intent(in) :: q_prim_vf
863 type(scalar_field),
intent(inout) :: divu_in
871# 110 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
873# 110 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
874#if defined(MFC_OpenACC)
875# 110 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
877# 110 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
878#elif defined(MFC_OpenMP)
879# 110 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
881# 110 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
883# 110 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
885# 110 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
887# 110 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
889# 110 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
894 divu_in%sf(j, k, l) = 0._wp
895 divu_in%sf(j, k, l) = &
896 5.e-1_wp/dx(j)*(q_prim_vf(contxe + idir)%sf(j + 1, k, l) - &
897 q_prim_vf(contxe + idir)%sf(j - 1, k, l))
903# 122 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
905# 122 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
906#if defined(MFC_OpenACC)
907# 122 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
909# 122 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
910#elif defined(MFC_OpenMP)
911# 122 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
913# 122 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
915# 122 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
917# 122 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
919# 122 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
923 elseif (idir == 2)
then
926# 127 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
928# 127 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
929#if defined(MFC_OpenACC)
930# 127 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
932# 127 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
933#elif defined(MFC_OpenMP)
934# 127 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
936# 127 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
938# 127 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
940# 127 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
942# 127 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
944# 127 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
949 divu_in%sf(j, k, l) = divu_in%sf(j, k, l) + &
950 5.e-1_wp/dy(k)*(q_prim_vf(contxe + idir)%sf(j, k + 1, l) - &
951 q_prim_vf(contxe + idir)%sf(j, k - 1, l))
957# 138 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
959# 138 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
960#if defined(MFC_OpenACC)
961# 138 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
963# 138 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
964#elif defined(MFC_OpenMP)
965# 138 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
967# 138 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
969# 138 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
971# 138 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
973# 138 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
976 elseif (idir == 3)
then
979# 142 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
981# 142 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
982#if defined(MFC_OpenACC)
983# 142 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
985# 142 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
986#elif defined(MFC_OpenMP)
987# 142 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
989# 142 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
991# 142 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
993# 142 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
995# 142 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
997# 142 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1002 divu_in%sf(j, k, l) = divu_in%sf(j, k, l) + &
1003 5.e-1_wp/dz(l)*(q_prim_vf(contxe + idir)%sf(j, k, l + 1) - &
1004 q_prim_vf(contxe + idir)%sf(j, k, l - 1))
1010# 153 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1012# 153 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1013#if defined(MFC_OpenACC)
1014# 153 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1016# 153 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1017#elif defined(MFC_OpenMP)
1018# 153 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1020# 153 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1022# 153 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1024# 153 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1026# 153 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1039 type(scalar_field),
dimension(sys_size),
intent(inout) ::
q_cons_vf
1040 type(scalar_field),
dimension(sys_size),
intent(in) :: q_prim_vf
1041 type(scalar_field),
dimension(sys_size),
intent(inout) :: rhs_vf
1042 type(scalar_field),
intent(in) :: divu_in
1045 real(wp) :: pb_local, mv_local, vflux, pbdot
1046 real(wp) :: n_tait, b_tait
1047# 177 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1048 real(wp),
dimension(nb) :: rtmp, vtmp
1049 real(wp),
dimension(num_fluids) :: myalpha, myalpha_rho
1050# 180 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1051 real(wp) :: myr, myv, alf, myp, myrho, r2vav, r3
1055 integer :: i,
j,
k,
l, q, ii
1057 integer :: adap_dt_stop_max, adap_dt_stop
1059 real(wp) :: dmmass_v, dmmass_n, dmbeta_c, dmbeta_t, dmcson
1062# 190 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1064# 190 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1065#if defined(MFC_OpenACC)
1066# 190 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1068# 190 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1069#elif defined(MFC_OpenMP)
1070# 190 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1072# 190 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1074# 190 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1076# 190 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1078# 190 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1080# 190 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1088# 196 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1089#if defined(MFC_OpenACC)
1090# 196 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1092# 196 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1093#elif defined(MFC_OpenMP)
1094# 196 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1096# 196 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1108# 206 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1110# 206 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1111#if defined(MFC_OpenACC)
1112# 206 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1114# 206 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1115#elif defined(MFC_OpenMP)
1116# 206 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1118# 206 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1120# 206 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1122# 206 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1124# 206 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1127 adap_dt_stop_max = 0
1129# 209 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1131# 209 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1132#if defined(MFC_OpenACC)
1133# 209 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1135# 209 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1136#elif defined(MFC_OpenMP)
1137# 209 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1139# 209 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1141# 209 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1143# 209 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1145# 209 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1147# 209 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1149# 212 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1155 nbub = q_prim_vf(n_idx)%sf(
j,
k,
l)
1158# 219 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1159#if defined(MFC_OpenACC)
1160# 219 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1162# 219 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1163#elif defined(MFC_OpenMP)
1164# 219 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1166# 219 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1169 rtmp(q) = q_prim_vf(
rs(q))%sf(
j,
k,
l)
1170 vtmp(q) = q_prim_vf(
vs(q))%sf(
j,
k,
l)
1176# 227 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1177#if defined(MFC_OpenACC)
1178# 227 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1180# 227 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1181#elif defined(MFC_OpenMP)
1182# 227 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1184# 227 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1187 r3 = r3 + weight(q)*rtmp(q)**3._wp
1190 nbub = (3._wp/(4._wp*pi))*q_prim_vf(alf_idx)%sf(
j,
k,
l)/r3
1193 if (.not. adap_dt)
then
1197# 238 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1198#if defined(MFC_OpenACC)
1199# 238 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1201# 238 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1202#elif defined(MFC_OpenMP)
1203# 238 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1205# 238 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1208 r2vav = r2vav + weight(q)*rtmp(q)**2._wp*vtmp(q)
1215# 246 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1216#if defined(MFC_OpenACC)
1217# 246 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1219# 246 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1220#elif defined(MFC_OpenMP)
1221# 246 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1223# 246 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1228# 249 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1229#if defined(MFC_OpenACC)
1230# 249 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1232# 249 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1233#elif defined(MFC_OpenMP)
1234# 249 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1236# 249 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1238 do ii = 1, num_fluids
1243 if (num_fluids == 1)
then
1244 myrho = myalpha_rho(1)
1246 b_tait = pi_infs(1)/pi_fac
1253# 264 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1254#if defined(MFC_OpenACC)
1255# 264 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1257# 264 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1258#elif defined(MFC_OpenMP)
1259# 264 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1261# 264 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1263 do ii = 1, num_fluids
1264 myrho = myrho + myalpha_rho(ii)
1265 n_tait = n_tait + myalpha(ii)*gammas(ii)
1266 b_tait = b_tait + myalpha(ii)*pi_infs(ii)/pi_fac
1270 n_tait = 1._wp/n_tait + 1._wp
1271 b_tait = b_tait*(n_tait - 1)/n_tait
1273 myp = q_prim_vf(e_idx)%sf(
j,
k,
l)
1274 alf = q_prim_vf(alf_idx)%sf(
j,
k,
l)
1275 myr = q_prim_vf(
rs(q))%sf(
j,
k,
l)
1276 myv = q_prim_vf(
vs(q))%sf(
j,
k,
l)
1278 if (alf < small_alf)
then
1282 if (.not. polytropic)
then
1287 if (.not. polytropic)
then
1288 pb_local = q_prim_vf(
ps(q))%sf(
j,
k,
l)
1289 mv_local = q_prim_vf(
ms(q))%sf(
j,
k,
l)
1290 call s_bwproperty(pb_local, q, chi_vw, k_mw, rho_mw)
1291 call s_vflux(myr, myv, pb_local, mv_local, q, vflux)
1292 pbdot = f_bpres_dot(vflux, myr, myv, pb_local, mv_local, q)
1294 bub_m_src(
j,
k,
l, q) = nbub*vflux*4._wp*pi*(myr**2._wp)
1296 pb_local = 0._wp; mv_local = 0._wp; vflux = 0._wp; pbdot = 0._wp
1303 call s_advance_step(myrho, myp, myr, myv, r0(q), &
1304 pb_local, pbdot, alf, n_tait, b_tait, &
1306 dmbub_id, dmmass_v, dmmass_n, dmbeta_c, &
1307 dmbeta_t, dmcson, adap_dt_stop)
1312 adap_dt_stop_max = max(adap_dt_stop_max, adap_dt_stop)
1315 rddot = f_rddot(myrho, myp, myr, myv, r0(q), &
1316 pb_local, pbdot, alf, n_tait, b_tait, &
1328# 329 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1330# 329 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1331#if defined(MFC_OpenACC)
1332# 329 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1334# 329 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1335#elif defined(MFC_OpenMP)
1336# 329 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1338# 329 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1340# 329 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1342# 329 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1344# 329 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1347 if (adap_dt .and. adap_dt_stop_max > 0)
call s_mpi_abort(
"Adaptive time stepping failed to converge.")
1349 if (.not. adap_dt)
then
1351# 334 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1353# 334 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1354#if defined(MFC_OpenACC)
1355# 334 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1357# 334 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1358#elif defined(MFC_OpenMP)
1359# 334 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1361# 334 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1363# 334 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1365# 334 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1367# 334 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1369# 334 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1374 rhs_vf(alf_idx)%sf(i, q,
l) = rhs_vf(alf_idx)%sf(i, q,
l) +
bub_adv_src(i, q,
l)
1375 if (num_fluids > 1) rhs_vf(advxb)%sf(i, q,
l) = &
1378# 341 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1379#if defined(MFC_OpenACC)
1380# 341 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1382# 341 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1383#elif defined(MFC_OpenMP)
1384# 341 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1386# 341 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1391 if (polytropic .neqv. .true.)
then
1400# 353 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1402# 353 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1403#if defined(MFC_OpenACC)
1404# 353 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1406# 353 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1407#elif defined(MFC_OpenMP)
1408# 353 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1410# 353 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1412# 353 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1414# 353 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"
1416# 353 "/home/runner/work/MFC/MFC/src/simulation/m_bubbles_EE.fpp"