773 integer,
intent(in) :: idir
774 type(scalar_field),
dimension(sys_size),
intent(in) :: q_prim_vf
775 type(scalar_field),
dimension(sys_size),
intent(inout) :: rhs_vf
776 real(wp) :: rho_k, g_k
777 integer :: i,
k,
l, q, r
780 ndirs = 1;
if (n > 0) ndirs = 2;
if (p > 0) ndirs = 3
786# 96 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
788# 96 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
789#if defined(MFC_OpenACC)
790# 96 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
792# 96 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
793#elif defined(MFC_OpenMP)
794# 96 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
796# 96 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
798# 96 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
800# 96 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
802# 96 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
812# 104 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
813#if defined(MFC_OpenACC)
814# 104 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
816# 104 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
817#elif defined(MFC_OpenMP)
818# 104 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
820# 104 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
822# 104 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
826# 106 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
828# 106 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
829#if defined(MFC_OpenACC)
830# 106 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
832# 106 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
833#elif defined(MFC_OpenMP)
834# 106 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
836# 106 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
838# 106 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
840# 106 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
842# 106 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
848# 110 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
849#if defined(MFC_OpenACC)
850# 110 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
852# 110 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
853#elif defined(MFC_OpenMP)
854# 110 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
856# 110 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
858 do r = -fd_number, fd_number
865# 117 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
866#if defined(MFC_OpenACC)
867# 117 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
869# 117 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
870#elif defined(MFC_OpenMP)
871# 117 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
873# 117 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
875# 117 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
880# 120 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
882# 120 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
883#if defined(MFC_OpenACC)
884# 120 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
886# 120 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
887#elif defined(MFC_OpenMP)
888# 120 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
890# 120 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
892# 120 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
894# 120 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
896# 120 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
906# 128 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
907#if defined(MFC_OpenACC)
908# 128 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
910# 128 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
911#elif defined(MFC_OpenMP)
912# 128 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
914# 128 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
916# 128 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
920# 130 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
922# 130 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
923#if defined(MFC_OpenACC)
924# 130 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
926# 130 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
927#elif defined(MFC_OpenMP)
928# 130 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
930# 130 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
932# 130 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
934# 130 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
936# 130 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
942# 134 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
943#if defined(MFC_OpenACC)
944# 134 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
946# 134 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
947#elif defined(MFC_OpenMP)
948# 134 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
950# 134 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
952 do r = -fd_number, fd_number
963# 145 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
964#if defined(MFC_OpenACC)
965# 145 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
967# 145 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
968#elif defined(MFC_OpenMP)
969# 145 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
971# 145 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
973# 145 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
979# 149 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
981# 149 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
982#if defined(MFC_OpenACC)
983# 149 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
985# 149 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
986#elif defined(MFC_OpenMP)
987# 149 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
989# 149 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
991# 149 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
993# 149 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
995# 149 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1006# 158 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1007#if defined(MFC_OpenACC)
1008# 158 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1010# 158 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1011#elif defined(MFC_OpenMP)
1012# 158 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1014# 158 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1016# 158 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1020# 160 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1022# 160 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1023#if defined(MFC_OpenACC)
1024# 160 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1026# 160 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1027#elif defined(MFC_OpenMP)
1028# 160 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1030# 160 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1032# 160 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1034# 160 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1036# 160 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1042# 164 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1043#if defined(MFC_OpenACC)
1044# 164 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1046# 164 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1047#elif defined(MFC_OpenMP)
1048# 164 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1050# 164 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1052 do r = -fd_number, fd_number
1068# 180 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1069#if defined(MFC_OpenACC)
1070# 180 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1072# 180 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1073#elif defined(MFC_OpenMP)
1074# 180 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1076# 180 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1078# 180 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1084# 184 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1086# 184 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1087#if defined(MFC_OpenACC)
1088# 184 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1090# 184 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1091#elif defined(MFC_OpenMP)
1092# 184 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1094# 184 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1096# 184 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1098# 184 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1100# 184 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1105 rho_k = 0._wp; g_k = 0._wp
1106 do i = 1, num_fluids
1107 rho_k = rho_k + q_prim_vf(i)%sf(
k,
l, q)
1108 g_k = g_k + q_prim_vf(advxb - 1 + i)%sf(
k,
l, q)*
gs_hypo(i)
1112 if (cont_damage) g_k = g_k*max((1._wp - q_prim_vf(damage_idx)%sf(
k,
l, q)), 0._wp)
1118 if (g_k < verysmall)
then
1125# 207 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1126#if defined(MFC_OpenACC)
1127# 207 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1129# 207 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1130#elif defined(MFC_OpenMP)
1131# 207 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1133# 207 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1135# 207 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1140# 210 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1142# 210 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1143#if defined(MFC_OpenACC)
1144# 210 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1146# 210 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1147#elif defined(MFC_OpenMP)
1148# 210 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1150# 210 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1152# 210 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1154# 210 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1156# 210 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1167# 219 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1168#if defined(MFC_OpenACC)
1169# 219 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1171# 219 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1172#elif defined(MFC_OpenMP)
1173# 219 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1175# 219 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1177# 219 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1179 else if (idir == 2)
then
1181# 221 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1183# 221 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1184#if defined(MFC_OpenACC)
1185# 221 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1187# 221 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1188#elif defined(MFC_OpenMP)
1189# 221 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1191# 221 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1193# 221 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1195# 221 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1197# 221 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1202 rhs_vf(strxb)%sf(
k,
l, q) = rhs_vf(strxb)%sf(
k,
l, q) +
rho_k_field(
k,
l, q)*(q_prim_vf(strxb + 1)%sf(
k, &
1207 rhs_vf(strxb + 1)%sf(
k,
l, q) = rhs_vf(strxb + 1)%sf(
k,
l, q) +
rho_k_field(
k,
l, &
1208 & q)*(q_prim_vf(strxb + 1)%sf(
k,
l, q)*
du_dx_hypo(
k,
l, q) + q_prim_vf(strxb)%sf(
k,
l, &
1210 & q) + q_prim_vf(strxb + 2)%sf(
k,
l, q)*
du_dy_hypo(
k,
l, q) + q_prim_vf(strxb + 1)%sf(
k,
l, &
1214 rhs_vf(strxb + 2)%sf(
k,
l, q) = rhs_vf(strxb + 2)%sf(
k,
l, q) +
rho_k_field(
k,
l, &
1215 & q)*(q_prim_vf(strxb + 1)%sf(
k,
l, q)*
dv_dx_hypo(
k,
l, q) + q_prim_vf(strxb + 1)%sf(
k,
l, &
1217 & q) + q_prim_vf(strxb + 2)%sf(
k,
l, q)*
dv_dy_hypo(
k,
l, q) + q_prim_vf(strxb + 2)%sf(
k,
l, &
1225# 247 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1226#if defined(MFC_OpenACC)
1227# 247 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1229# 247 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1230#elif defined(MFC_OpenMP)
1231# 247 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1233# 247 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1235# 247 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1237 else if (idir == 3)
then
1239# 249 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1241# 249 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1242#if defined(MFC_OpenACC)
1243# 249 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1245# 249 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1246#elif defined(MFC_OpenMP)
1247# 249 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1249# 249 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1251# 249 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1253# 249 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1255# 249 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1260 rhs_vf(strxb)%sf(
k,
l, q) = rhs_vf(strxb)%sf(
k,
l, q) +
rho_k_field(
k,
l, q)*(q_prim_vf(strxb + 3)%sf(
k, &
1265 rhs_vf(strxb + 1)%sf(
k,
l, q) = rhs_vf(strxb + 1)%sf(
k,
l, q) +
rho_k_field(
k,
l, &
1266 & q)*(q_prim_vf(strxb + 4)%sf(
k,
l, q)*
du_dz_hypo(
k,
l, q) + q_prim_vf(strxb + 3)%sf(
k,
l, &
1269 rhs_vf(strxb + 2)%sf(
k,
l, q) = rhs_vf(strxb + 2)%sf(
k,
l, q) +
rho_k_field(
k,
l, &
1270 & q)*(q_prim_vf(strxb + 4)%sf(
k,
l, q)*
dv_dz_hypo(
k,
l, q) + q_prim_vf(strxb + 4)%sf(
k,
l, &
1274 rhs_vf(strxb + 3)%sf(
k,
l, q) = rhs_vf(strxb + 3)%sf(
k,
l, q) +
rho_k_field(
k,
l, &
1275 & q)*(q_prim_vf(strxb + 3)%sf(
k,
l, q)*
du_dx_hypo(
k,
l, q) + q_prim_vf(strxb)%sf(
k,
l, &
1277 & q) + q_prim_vf(strxb + 4)%sf(
k,
l, q)*
du_dy_hypo(
k,
l, q) + q_prim_vf(strxb + 1)%sf(
k,
l, &
1279 & q) + q_prim_vf(strxb + 5)%sf(
k,
l, q)*
du_dz_hypo(
k,
l, q) + q_prim_vf(strxb + 3)%sf(
k,
l, &
1283 rhs_vf(strxb + 4)%sf(
k,
l, q) = rhs_vf(strxb + 4)%sf(
k,
l, q) +
rho_k_field(
k,
l, &
1284 & q)*(q_prim_vf(strxb + 3)%sf(
k,
l, q)*
dv_dx_hypo(
k,
l, q) + q_prim_vf(strxb + 1)%sf(
k,
l, &
1286 & q) + q_prim_vf(strxb + 4)%sf(
k,
l, q)*
dv_dy_hypo(
k,
l, q) + q_prim_vf(strxb + 2)%sf(
k,
l, &
1288 & q) + q_prim_vf(strxb + 5)%sf(
k,
l, q)*
dv_dz_hypo(
k,
l, q) + q_prim_vf(strxb + 4)%sf(
k,
l, &
1292 rhs_vf(strxe)%sf(
k,
l, q) = rhs_vf(strxe)%sf(
k,
l, q) +
rho_k_field(
k,
l, q)*(q_prim_vf(strxe - 2)%sf(
k, &
1294 & q) - q_prim_vf(strxe)%sf(
k,
l, q)*
du_dx_hypo(
k,
l, q) + q_prim_vf(strxe - 1)%sf(
k,
l, &
1296 & q) - q_prim_vf(strxe)%sf(
k,
l, q)*
dv_dy_hypo(
k,
l, q) + q_prim_vf(strxe)%sf(
k,
l, &
1304# 296 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1305#if defined(MFC_OpenACC)
1306# 296 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1308# 296 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1309#elif defined(MFC_OpenMP)
1310# 296 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1312# 296 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1314# 296 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1318 if (cyl_coord .and. idir == 2)
then
1320# 300 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1322# 300 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1323#if defined(MFC_OpenACC)
1324# 300 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1326# 300 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1327#elif defined(MFC_OpenMP)
1328# 300 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1330# 300 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1332# 300 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1334# 300 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1336# 300 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1342 rhs_vf(strxb)%sf(
k,
l, q) = rhs_vf(strxb)%sf(
k,
l, q) -
rho_k_field(
k,
l, q)*q_prim_vf(momxb + 1)%sf(
k, &
1343 &
l, q)/y_cc(
l)*(q_prim_vf(strxb)%sf(
k,
l, q) + (2._wp/3._wp)*
g_k_field(
k,
l, q))
1346 rhs_vf(strxb + 1)%sf(
k,
l, q) = rhs_vf(strxb + 1)%sf(
k,
l, q) -
rho_k_field(
k,
l, &
1347 & q)*q_prim_vf(momxb + 1)%sf(
k,
l, q)/y_cc(
l)*q_prim_vf(strxb + 1)%sf(
k,
l, q)
1350 rhs_vf(strxb + 2)%sf(
k,
l, q) = rhs_vf(strxb + 2)%sf(
k,
l, q) -
rho_k_field(
k,
l, &
1351 & q)*q_prim_vf(momxb + 1)%sf(
k,
l, q)/y_cc(
l)*(q_prim_vf(strxb + 2)%sf(
k,
l, &
1355 rhs_vf(strxb + 3)%sf(
k,
l, q) = rhs_vf(strxb + 3)%sf(
k,
l, q) +
rho_k_field(
k,
l, &
1358 & q)/y_cc(
l)) + 2._wp*(q_prim_vf(strxb + 3)%sf(
k,
l, q) +
g_k_field(
k,
l, &
1359 & q))*q_prim_vf(momxb + 1)%sf(
k,
l, q)/y_cc(
l))
1364# 326 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1365#if defined(MFC_OpenACC)
1366# 326 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1368# 326 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1369#elif defined(MFC_OpenMP)
1370# 326 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1372# 326 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1374# 326 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1641 type(scalar_field),
dimension(sys_size),
intent(in) ::
q_cons_vf
1642 type(scalar_field),
dimension(sys_size),
intent(inout) :: rhs_vf
1644 real(wp) :: tau_xx, tau_xy, tau_yy, tau_zz, tau_yz, tau_xz
1645 real(wp) :: i1, i2, i3, argument, phi, sqrt_term_1, sqrt_term_2, temp
1651# 361 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1653# 361 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1654#if defined(MFC_OpenACC)
1655# 361 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1657# 361 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1658#elif defined(MFC_OpenMP)
1659# 361 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1661# 361 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1663# 361 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1665# 361 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1667# 361 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1670 rhs_vf(damage_idx)%sf(
k,
l, q) = (alpha_bar*max(abs(real(
q_cons_vf(stress_idx%beg)%sf(
k,
l, q), &
1671 & kind=wp)) - tau_star, 0._wp))**cont_damage_s
1674# 366 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1675#if defined(MFC_OpenACC)
1676# 366 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1678# 366 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1679#elif defined(MFC_OpenMP)
1680# 366 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1682# 366 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1684# 366 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1686 else if (p == 0)
then
1689# 369 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1691# 369 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1692#if defined(MFC_OpenACC)
1693# 369 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1695# 369 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1696#elif defined(MFC_OpenMP)
1697# 369 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1699# 369 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1701# 369 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1703# 369 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1705# 369 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1712 & q))**2.0_wp + 4._wp*
q_cons_vf(stress_idx%beg + 1)%sf(
k,
l, q)**2.0_wp)/2._wp
1714 rhs_vf(damage_idx)%sf(
k,
l, q) = (alpha_bar*max(tau_p - tau_star, 0._wp))**cont_damage_s
1718# 380 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1719#if defined(MFC_OpenACC)
1720# 380 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1722# 380 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1723#elif defined(MFC_OpenMP)
1724# 380 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1726# 380 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1728# 380 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1732# 382 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1734# 382 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1735#if defined(MFC_OpenACC)
1736# 382 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1738# 382 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1739#elif defined(MFC_OpenMP)
1740# 382 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1742# 382 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1744# 382 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1746# 382 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1748# 382 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1750# 384 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1755 tau_xy =
q_cons_vf(stress_idx%beg + 1)%sf(
k,
l, q)
1756 tau_yy =
q_cons_vf(stress_idx%beg + 2)%sf(
k,
l, q)
1757 tau_xz =
q_cons_vf(stress_idx%beg + 3)%sf(
k,
l, q)
1758 tau_yz =
q_cons_vf(stress_idx%beg + 4)%sf(
k,
l, q)
1759 tau_zz =
q_cons_vf(stress_idx%beg + 5)%sf(
k,
l, q)
1762 i1 = tau_xx + tau_yy + tau_zz
1763 i2 = tau_xx*tau_yy + tau_xx*tau_zz + tau_yy*tau_zz - (tau_xy**2.0_wp + tau_xz**2.0_wp + tau_yz**2.0_wp)
1764 i3 = tau_xx*tau_yy*tau_zz + 2.0_wp*tau_xy*tau_xz*tau_yz - tau_xx*tau_yz**2.0_wp - tau_yy*tau_xz**2.0_wp &
1765 & - tau_zz*tau_xy**2.0_wp
1768 temp = i1**2.0_wp - 3.0_wp*i2
1769 sqrt_term_1 = sqrt(max(temp, 0.0_wp))
1770 if (sqrt_term_1 > verysmall)
then
1771 argument = (2.0_wp*i1*i1*i1 - 9.0_wp*i1*i2 + 27.0_wp*i3)/(2.0_wp*sqrt_term_1*sqrt_term_1*sqrt_term_1)
1772 if (argument > 1.0_wp) argument = 1.0_wp
1773 if (argument < -1.0_wp) argument = -1.0_wp
1774 phi = acos(argument)
1775 sqrt_term_2 = sqrt(max(i1**2.0_wp - 3.0_wp*i2, 0.0_wp))
1776 tau_p = i1/3.0_wp + 2.0_wp/sqrt(3.0_wp)*sqrt_term_2*cos(phi/3.0_wp)
1781 rhs_vf(damage_idx)%sf(
k,
l, q) = (alpha_bar*max(tau_p - tau_star, 0._wp))**cont_damage_s
1786# 418 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1787#if defined(MFC_OpenACC)
1788# 418 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1790# 418 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1791#elif defined(MFC_OpenMP)
1792# 418 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1794# 418 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"
1796# 418 "/home/runner/work/MFC/MFC/src/simulation/m_hypoelastic.fpp"