|
84 | 84 | if (alph > 1._wp - eps) alph = 1._wp - eps |
85 | 85 |
|
86 | 86 | if (y_cc(j) > intH) then |
87 | | - q_prim_vf(advxb)%sf(i, j, k) = alph |
88 | | - q_prim_vf(advxe)%sf(i, j, k) = 1._wp - alph |
89 | | - q_prim_vf(contxb)%sf(i, j, k) = alph*rhoH |
90 | | - q_prim_vf(contxe)%sf(i, j, k) = (1._wp - alph)*rhoL |
91 | | - q_prim_vf(E_idx)%sf(i, j, k) = pref + rhoH*9.81_wp*(1.2_wp - y_cc(j)) |
| 87 | + q_prim_vf(eqn_idx%adv%beg)%sf(i, j, k) = alph |
| 88 | + q_prim_vf(eqn_idx%adv%end)%sf(i, j, k) = 1._wp - alph |
| 89 | + q_prim_vf(eqn_idx%cont%beg)%sf(i, j, k) = alph*rhoH |
| 90 | + q_prim_vf(eqn_idx%cont%end)%sf(i, j, k) = (1._wp - alph)*rhoL |
| 91 | + q_prim_vf(eqn_idx%E)%sf(i, j, k) = pref + rhoH*9.81_wp*(1.2_wp - y_cc(j)) |
92 | 92 | else |
93 | | - q_prim_vf(advxb)%sf(i, j, k) = alph |
94 | | - q_prim_vf(advxe)%sf(i, j, k) = 1._wp - alph |
95 | | - q_prim_vf(contxb)%sf(i, j, k) = alph*rhoH |
96 | | - q_prim_vf(contxe)%sf(i, j, k) = (1._wp - alph)*rhoL |
| 93 | + q_prim_vf(eqn_idx%adv%beg)%sf(i, j, k) = alph |
| 94 | + q_prim_vf(eqn_idx%adv%end)%sf(i, j, k) = 1._wp - alph |
| 95 | + q_prim_vf(eqn_idx%cont%beg)%sf(i, j, k) = alph*rhoH |
| 96 | + q_prim_vf(eqn_idx%cont%end)%sf(i, j, k) = (1._wp - alph)*rhoL |
97 | 97 | pInt = pref + rhoH*9.81_wp*(1.2_wp - intH) |
98 | | - q_prim_vf(E_idx)%sf(i, j, k) = pInt + rhoL*9.81_wp*(intH - y_cc(j)) |
| 98 | + q_prim_vf(eqn_idx%E)%sf(i, j, k) = pInt + rhoL*9.81_wp*(intH - y_cc(j)) |
99 | 99 | end if |
100 | 100 | case (301) ! (3D lung geometry in X direction, |sin(*)+sin(*)|) |
101 | 101 | h = 0.0_wp |
102 | 102 | lam = 1.0_wp |
103 | 103 | amp = patch_icpp(patch_id)%a(2) |
104 | 104 | intH = amp*abs((sin(2*pi*y_cc(j)/lam - pi/2) + sin(2*pi*z_cc(k)/lam - pi/2)) + h) |
105 | 105 | if (x_cc(i) > intH) then |
106 | | - q_prim_vf(contxb)%sf(i, j, k) = patch_icpp(1)%alpha_rho(1) |
107 | | - q_prim_vf(contxe)%sf(i, j, k) = patch_icpp(1)%alpha_rho(2) |
108 | | - q_prim_vf(E_idx)%sf(i, j, k) = patch_icpp(1)%pres |
109 | | - q_prim_vf(advxb)%sf(i, j, k) = patch_icpp(1)%alpha(1) |
110 | | - q_prim_vf(advxe)%sf(i, j, k) = patch_icpp(1)%alpha(2) |
| 106 | + q_prim_vf(eqn_idx%cont%beg)%sf(i, j, k) = patch_icpp(1)%alpha_rho(1) |
| 107 | + q_prim_vf(eqn_idx%cont%end)%sf(i, j, k) = patch_icpp(1)%alpha_rho(2) |
| 108 | + q_prim_vf(eqn_idx%E)%sf(i, j, k) = patch_icpp(1)%pres |
| 109 | + q_prim_vf(eqn_idx%adv%beg)%sf(i, j, k) = patch_icpp(1)%alpha(1) |
| 110 | + q_prim_vf(eqn_idx%adv%end)%sf(i, j, k) = patch_icpp(1)%alpha(2) |
111 | 111 | end if |
112 | 112 | case (302) ! 3D Jet with IGR |
113 | 113 | ux_th = 10*sqrt(1.4*0.4) |
|
126 | 126 | rcut = f_cut_on(r - r_th, eps_smooth) |
127 | 127 | xcut = f_cut_on(x_cc(i), eps_smooth) |
128 | 128 |
|
129 | | - q_prim_vf(momxb)%sf(i, j, k) = ux_th*rcut*xcut + ux_am |
130 | | - q_prim_vf(momxb + 1)%sf(i, j, k) = 0._wp |
131 | | - q_prim_vf(momxe)%sf(i, j, k) = 0._wp |
| 129 | + q_prim_vf(eqn_idx%mom%beg)%sf(i, j, k) = ux_th*rcut*xcut + ux_am |
| 130 | + q_prim_vf(eqn_idx%mom%beg + 1)%sf(i, j, k) = 0._wp |
| 131 | + q_prim_vf(eqn_idx%mom%end)%sf(i, j, k) = 0._wp |
132 | 132 |
|
133 | 133 | if (num_fluids == 1) then |
134 | | - q_prim_vf(contxb)%sf(i, j, k) = (rho_th - rho_am)*rcut*xcut + rho_am |
| 134 | + q_prim_vf(eqn_idx%cont%beg)%sf(i, j, k) = (rho_th - rho_am)*rcut*xcut + rho_am |
135 | 135 | else |
136 | | - q_prim_vf(advxb)%sf(i, j, k) = (1._wp - 2._wp*eps)*rcut*xcut + eps |
137 | | - q_prim_vf(contxb)%sf(i, j, k) = rho_th*q_prim_vf(advxb)%sf(i, j, k) |
138 | | - q_prim_vf(contxe)%sf(i, j, k) = rho_am*(1._wp - q_prim_vf(advxb)%sf(i, j, k)) |
| 136 | + q_prim_vf(eqn_idx%adv%beg)%sf(i, j, k) = (1._wp - 2._wp*eps)*rcut*xcut + eps |
| 137 | + q_prim_vf(eqn_idx%cont%beg)%sf(i, j, k) = rho_th*q_prim_vf(eqn_idx%adv%beg)%sf(i, j, k) |
| 138 | + q_prim_vf(eqn_idx%cont%end)%sf(i, j, k) = rho_am*(1._wp - q_prim_vf(eqn_idx%adv%beg)%sf(i, j, k)) |
139 | 139 | end if |
140 | 140 |
|
141 | | - q_prim_vf(E_idx)%sf(i, j, k) = p_th*rcut*xcut + p_am |
| 141 | + q_prim_vf(eqn_idx%E)%sf(i, j, k) = p_th*rcut*xcut + p_am |
142 | 142 | case (303) ! 3D Multijet |
143 | 143 | eps_smooth = 3.0_wp |
144 | 144 | ux_th = 10*sqrt(1.4*0.4) |
|
152 | 152 | rcut = rcut_arr(j, k) |
153 | 153 | xcut = f_cut_on(x_cc(i), eps_smooth) |
154 | 154 |
|
155 | | - q_prim_vf(momxb)%sf(i, j, k) = ux_th*rcut*xcut + ux_am |
156 | | - q_prim_vf(momxb + 1)%sf(i, j, k) = 0._wp |
157 | | - q_prim_vf(momxe)%sf(i, j, k) = 0._wp |
| 155 | + q_prim_vf(eqn_idx%mom%beg)%sf(i, j, k) = ux_th*rcut*xcut + ux_am |
| 156 | + q_prim_vf(eqn_idx%mom%beg + 1)%sf(i, j, k) = 0._wp |
| 157 | + q_prim_vf(eqn_idx%mom%end)%sf(i, j, k) = 0._wp |
158 | 158 |
|
159 | 159 | if (num_fluids == 1) then |
160 | | - q_prim_vf(contxb)%sf(i, j, k) = (rho_th - rho_am)*rcut*xcut + rho_am |
| 160 | + q_prim_vf(eqn_idx%cont%beg)%sf(i, j, k) = (rho_th - rho_am)*rcut*xcut + rho_am |
161 | 161 | else |
162 | | - q_prim_vf(advxb)%sf(i, j, k) = (1._wp - 2._wp*eps)*rcut*xcut + eps |
163 | | - q_prim_vf(contxb)%sf(i, j, k) = rho_th*q_prim_vf(advxb)%sf(i, j, k) |
164 | | - q_prim_vf(contxe)%sf(i, j, k) = rho_am*(1._wp - q_prim_vf(advxb)%sf(i, j, k)) |
| 162 | + q_prim_vf(eqn_idx%adv%beg)%sf(i, j, k) = (1._wp - 2._wp*eps)*rcut*xcut + eps |
| 163 | + q_prim_vf(eqn_idx%cont%beg)%sf(i, j, k) = rho_th*q_prim_vf(eqn_idx%adv%beg)%sf(i, j, k) |
| 164 | + q_prim_vf(eqn_idx%cont%end)%sf(i, j, k) = rho_am*(1._wp - q_prim_vf(eqn_idx%adv%beg)%sf(i, j, k)) |
165 | 165 | end if |
166 | 166 |
|
167 | | - q_prim_vf(E_idx)%sf(i, j, k) = p_th*rcut*xcut + p_am |
| 167 | + q_prim_vf(eqn_idx%E)%sf(i, j, k) = p_th*rcut*xcut + p_am |
168 | 168 | case (370) ! 3D extrusion of 2D profile from external data |
169 | 169 | ! This hardcoded case extrudes a 2D profile to initialize a 3D simulation domain |
170 | 170 | @: HardcodedReadValues() |
|
173 | 173 | ! geometry 9 |
174 | 174 | Mach = 0.1 |
175 | 175 | if (patch_id == 1) then |
176 | | - q_prim_vf(E_idx)%sf(i, j, & |
| 176 | + q_prim_vf(eqn_idx%E)%sf(i, j, & |
177 | 177 | & k) = 101325 + (Mach**2*376.636429464809**2/16)*(cos(2*x_cc(i)/1) + cos(2*y_cc(j)/1))*(cos(2*z_cc(k)/1) + 2) |
178 | | - q_prim_vf(momxb + 0)%sf(i, j, k) = Mach*376.636429464809*sin(x_cc(i)/1)*cos(y_cc(j)/1)*sin(z_cc(k)/1) |
179 | | - q_prim_vf(momxb + 1)%sf(i, j, k) = -Mach*376.636429464809*cos(x_cc(i)/1)*sin(y_cc(j)/1)*sin(z_cc(k)/1) |
| 178 | + q_prim_vf(eqn_idx%mom%beg + 0)%sf(i, j, k) = Mach*376.636429464809*sin(x_cc(i)/1)*cos(y_cc(j)/1)*sin(z_cc(k)/1) |
| 179 | + q_prim_vf(eqn_idx%mom%beg + 1)%sf(i, j, k) = -Mach*376.636429464809*cos(x_cc(i)/1)*sin(y_cc(j)/1)*sin(z_cc(k)/1) |
180 | 180 | end if |
181 | 181 | case default |
182 | 182 | call s_int_to_str(patch_id, iStr) |
|
0 commit comments