57 TYPE(t_region
) :: region
64 INTEGER :: ilev, icoff, ijcoff, inoff, ijnoff, ijkc0, ijkcm1, ijkn
65 INTEGER :: indcp, indmol, indsvel
67 REAL(RFREAL) :: beta5, ds, nx, ny, nz, svel, rgas, gaml, gamr, ggm1, gam1, &
68 rl, ul, vl, wl, pl, hl, rr, ur, vr, wr, pr, hr, rav, dd, &
69 dd1, uav, vav, wav, hav, q2a, c2a, cav, uvw, du, eabs1, &
70 eabs2, eabs5, h1, h2, h3, h4, h5, epsentr,
delta, fd(5)
71 REAL(RFREAL),
POINTER :: cv(:,:), dv(:,:), gv(:,:), diss(:,:), &
72 si(:,:), sj(:,:), sk(:,:), &
73 sivel(:), sjvel(:), skvel(:)
78 'RFLO_RoeDissipFirst.F90' )
82 ilev = region%currLevel
89 cv => region%levels(ilev)%mixt%cv
90 dv => region%levels(ilev)%mixt%dv
91 gv => region%levels(ilev)%mixt%gv
92 si => region%levels(ilev)%grid%si
93 sj => region%levels(ilev)%grid%sj
94 sk => region%levels(ilev)%grid%sk
95 sivel => region%levels(ilev)%grid%siVel
96 sjvel => region%levels(ilev)%grid%sjVel
97 skvel => region%levels(ilev)%grid%skVel
98 diss => region%levels(ilev)%mixt%diss
102 beta5 = 0.5_rfreal*region%mixtInput%betrk(region%irkStep)
103 epsentr = region%mixtInput%epsEntr
104 indsvel = region%levels(ilev)%grid%indSvel
105 indcp = region%levels(ilev)%mixt%indCp
106 indmol = region%levels(ilev)%mixt%indMol
113 ijkc0 = indijk(
i ,
j,
k,icoff,ijcoff)
114 ijkcm1 = indijk(
i-1,
j,
k,icoff,ijcoff)
115 ijkn = indijk(
i ,
j,
k,inoff,ijnoff)
116 ds =
sqrt(si(xcoord,ijkn)*si(xcoord,ijkn)+ &
117 si(ycoord,ijkn)*si(ycoord,ijkn)+ &
118 si(zcoord,ijkn)*si(zcoord,ijkn))
119 nx = si(xcoord,ijkn)/ds
120 ny = si(ycoord,ijkn)/ds
121 nz = si(zcoord,ijkn)/ds
122 svel = sivel(ijkn*indsvel)/ds
127 rl = cv(cv_mixt_dens,ijkcm1)
128 ul = dv(dv_mixt_uvel,ijkcm1)
129 vl = dv(dv_mixt_vvel,ijkcm1)
130 wl = dv(dv_mixt_wvel,ijkcm1)
131 pl = dv(dv_mixt_pres,ijkcm1)
132 rgas = 8314.3_rfreal/gv(gv_mixt_mol,ijkcm1*indmol)
133 gaml = gv(gv_mixt_cp,ijkcm1*indcp)/(gv(gv_mixt_cp,ijkcm1*indcp)-rgas)
134 ggm1 = gaml/(gaml-1._rfreal)
135 hl = ggm1*pl/rl + 0.5_rfreal*(ul*ul+vl*vl+wl*wl)
137 rr = cv(cv_mixt_dens,ijkc0)
138 ur = dv(dv_mixt_uvel,ijkc0)
139 vr = dv(dv_mixt_vvel,ijkc0)
140 wr = dv(dv_mixt_wvel,ijkc0)
141 pr = dv(dv_mixt_pres,ijkc0)
142 rgas = 8314.3_rfreal/gv(gv_mixt_mol,ijkc0*indmol)
143 gamr = gv(gv_mixt_cp,ijkc0*indcp)/(gv(gv_mixt_cp,ijkc0*indcp)-rgas)
144 ggm1 = gamr/(gamr-1._rfreal)
145 hr = ggm1*pr/rr + 0.5_rfreal*(ur*ur+vr*vr+wr*wr)
151 dd1 = 1._rfreal/(1._rfreal+dd)
156 q2a = 0.5_rfreal*(uav*uav+vav*vav+wav*wav)
157 gam1 = 0.5_rfreal*(gaml+gamr) - 1._rfreal
160 uvw = uav*nx + vav*ny + wav*nz - svel
161 du = (ur-ul)*nx + (vr-vl)*ny + (wr-wl)*nz
167 eabs5 = abs(uvw + cav)
168 delta = epsentr*eabs5
175 h2 = eabs1*(pr-pl - h1)/(2._rfreal*c2a)
176 h3 = eabs2*(rr-rl - (pr-pl)/c2a)
178 h5 = eabs5*(pr-pl + h1)/(2._rfreal*c2a)
181 fd(2) = h2*(uav-cav*nx) + h3*uav + h4*(ur-ul-du*nx) + &
183 fd(3) = h2*(vav-cav*ny) + h3*vav + h4*(vr-vl-du*ny) + &
185 fd(4) = h2*(wav-cav*nz) + h3*wav + h4*(wr-wl-du*nz) + &
187 fd(5) = h2*(hav-cav*uvw) + h3*q2a + h4*(uav*(ur-ul)+ &
188 vav*(vr-vl)+wav*(wr-wl)-uvw*du) + &
197 diss(cv_mixt_dens,ijkc0 ) = diss(cv_mixt_dens,ijkc0 ) - fd(1)
198 diss(cv_mixt_xmom,ijkc0 ) = diss(cv_mixt_xmom,ijkc0 ) - fd(2)
199 diss(cv_mixt_ymom,ijkc0 ) = diss(cv_mixt_ymom,ijkc0 ) - fd(3)
200 diss(cv_mixt_zmom,ijkc0 ) = diss(cv_mixt_zmom,ijkc0 ) - fd(4)
201 diss(cv_mixt_ener,ijkc0 ) = diss(cv_mixt_ener,ijkc0 ) - fd(5)
203 diss(cv_mixt_dens,ijkcm1) = diss(cv_mixt_dens,ijkcm1) + fd(1)
204 diss(cv_mixt_xmom,ijkcm1) = diss(cv_mixt_xmom,ijkcm1) + fd(2)
205 diss(cv_mixt_ymom,ijkcm1) = diss(cv_mixt_ymom,ijkcm1) + fd(3)
206 diss(cv_mixt_zmom,ijkcm1) = diss(cv_mixt_zmom,ijkcm1) + fd(4)
207 diss(cv_mixt_ener,ijkcm1) = diss(cv_mixt_ener,ijkcm1) + fd(5)
217 ijkc0 = indijk(
i,
j ,
k,icoff,ijcoff)
218 ijkcm1 = indijk(
i,
j-1,
k,icoff,ijcoff)
219 ijkn = indijk(
i,
j ,
k,inoff,ijnoff)
220 ds =
sqrt(sj(xcoord,ijkn)*sj(xcoord,ijkn)+ &
221 sj(ycoord,ijkn)*sj(ycoord,ijkn)+ &
222 sj(zcoord,ijkn)*sj(zcoord,ijkn))
223 nx = sj(xcoord,ijkn)/ds
224 ny = sj(ycoord,ijkn)/ds
225 nz = sj(zcoord,ijkn)/ds
226 svel = sjvel(ijkn*indsvel)/ds
231 rl = cv(cv_mixt_dens,ijkcm1)
232 ul = dv(dv_mixt_uvel,ijkcm1)
233 vl = dv(dv_mixt_vvel,ijkcm1)
234 wl = dv(dv_mixt_wvel,ijkcm1)
235 pl = dv(dv_mixt_pres,ijkcm1)
236 rgas = 8314.3_rfreal/gv(gv_mixt_mol,ijkcm1*indmol)
237 gaml = gv(gv_mixt_cp,ijkcm1*indcp)/(gv(gv_mixt_cp,ijkcm1*indcp)-rgas)
238 ggm1 = gaml/(gaml-1._rfreal)
239 hl = ggm1*pl/rl + 0.5_rfreal*(ul*ul+vl*vl+wl*wl)
241 rr = cv(cv_mixt_dens,ijkc0)
242 ur = dv(dv_mixt_uvel,ijkc0)
243 vr = dv(dv_mixt_vvel,ijkc0)
244 wr = dv(dv_mixt_wvel,ijkc0)
245 pr = dv(dv_mixt_pres,ijkc0)
246 rgas = 8314.3_rfreal/gv(gv_mixt_mol,ijkc0*indmol)
247 gamr = gv(gv_mixt_cp,ijkc0*indcp)/(gv(gv_mixt_cp,ijkc0*indcp)-rgas)
248 ggm1 = gamr/(gamr-1._rfreal)
249 hr = ggm1*pr/rr + 0.5_rfreal*(ur*ur+vr*vr+wr*wr)
255 dd1 = 1._rfreal/(1._rfreal+dd)
260 q2a = 0.5_rfreal*(uav*uav+vav*vav+wav*wav)
261 gam1 = 0.5_rfreal*(gaml+gamr) - 1._rfreal
264 uvw = uav*nx + vav*ny + wav*nz - svel
265 du = (ur-ul)*nx + (vr-vl)*ny + (wr-wl)*nz
271 eabs5 = abs(uvw + cav)
272 delta = epsentr*eabs5
279 h2 = eabs1*(pr-pl - h1)/(2._rfreal*c2a)
280 h3 = eabs2*(rr-rl - (pr-pl)/c2a)
282 h5 = eabs5*(pr-pl + h1)/(2._rfreal*c2a)
285 fd(2) = h2*(uav-cav*nx) + h3*uav + h4*(ur-ul-du*nx) + &
287 fd(3) = h2*(vav-cav*ny) + h3*vav + h4*(vr-vl-du*ny) + &
289 fd(4) = h2*(wav-cav*nz) + h3*wav + h4*(wr-wl-du*nz) + &
291 fd(5) = h2*(hav-cav*uvw) + h3*q2a + h4*(uav*(ur-ul)+ &
292 vav*(vr-vl)+wav*(wr-wl)-uvw*du) + &
301 diss(cv_mixt_dens,ijkc0 ) = diss(cv_mixt_dens,ijkc0 ) - fd(1)
302 diss(cv_mixt_xmom,ijkc0 ) = diss(cv_mixt_xmom,ijkc0 ) - fd(2)
303 diss(cv_mixt_ymom,ijkc0 ) = diss(cv_mixt_ymom,ijkc0 ) - fd(3)
304 diss(cv_mixt_zmom,ijkc0 ) = diss(cv_mixt_zmom,ijkc0 ) - fd(4)
305 diss(cv_mixt_ener,ijkc0 ) = diss(cv_mixt_ener,ijkc0 ) - fd(5)
307 diss(cv_mixt_dens,ijkcm1) = diss(cv_mixt_dens,ijkcm1) + fd(1)
308 diss(cv_mixt_xmom,ijkcm1) = diss(cv_mixt_xmom,ijkcm1) + fd(2)
309 diss(cv_mixt_ymom,ijkcm1) = diss(cv_mixt_ymom,ijkcm1) + fd(3)
310 diss(cv_mixt_zmom,ijkcm1) = diss(cv_mixt_zmom,ijkcm1) + fd(4)
311 diss(cv_mixt_ener,ijkcm1) = diss(cv_mixt_ener,ijkcm1) + fd(5)
321 ijkc0 = indijk(
i,
j,
k ,icoff,ijcoff)
322 ijkcm1 = indijk(
i,
j,
k-1,icoff,ijcoff)
323 ijkn = indijk(
i,
j,
k ,inoff,ijnoff)
324 ds =
sqrt(sk(xcoord,ijkn)*sk(xcoord,ijkn)+ &
325 sk(ycoord,ijkn)*sk(ycoord,ijkn)+ &
326 sk(zcoord,ijkn)*sk(zcoord,ijkn))
327 nx = sk(xcoord,ijkn)/ds
328 ny = sk(ycoord,ijkn)/ds
329 nz = sk(zcoord,ijkn)/ds
330 svel = skvel(ijkn*indsvel)/ds
335 rl = cv(cv_mixt_dens,ijkcm1)
336 ul = dv(dv_mixt_uvel,ijkcm1)
337 vl = dv(dv_mixt_vvel,ijkcm1)
338 wl = dv(dv_mixt_wvel,ijkcm1)
339 pl = dv(dv_mixt_pres,ijkcm1)
340 rgas = 8314.3_rfreal/gv(gv_mixt_mol,ijkcm1*indmol)
341 gaml = gv(gv_mixt_cp,ijkcm1*indcp)/(gv(gv_mixt_cp,ijkcm1*indcp)-rgas)
342 ggm1 = gaml/(gaml-1._rfreal)
343 hl = ggm1*pl/rl + 0.5_rfreal*(ul*ul+vl*vl+wl*wl)
345 rr = cv(cv_mixt_dens,ijkc0)
346 ur = dv(dv_mixt_uvel,ijkc0)
347 vr = dv(dv_mixt_vvel,ijkc0)
348 wr = dv(dv_mixt_wvel,ijkc0)
349 pr = dv(dv_mixt_pres,ijkc0)
350 rgas = 8314.3_rfreal/gv(gv_mixt_mol,ijkc0*indmol)
351 gamr = gv(gv_mixt_cp,ijkc0*indcp)/(gv(gv_mixt_cp,ijkc0*indcp)-rgas)
352 ggm1 = gamr/(gamr-1._rfreal)
353 hr = ggm1*pr/rr + 0.5_rfreal*(ur*ur+vr*vr+wr*wr)
359 dd1 = 1._rfreal/(1._rfreal+dd)
364 q2a = 0.5_rfreal*(uav*uav+vav*vav+wav*wav)
365 gam1 = 0.5_rfreal*(gaml+gamr) - 1._rfreal
368 uvw = uav*nx + vav*ny + wav*nz - svel
369 du = (ur-ul)*nx + (vr-vl)*ny + (wr-wl)*nz
375 eabs5 = abs(uvw + cav)
376 delta = epsentr*eabs5
383 h2 = eabs1*(pr-pl - h1)/(2._rfreal*c2a)
384 h3 = eabs2*(rr-rl - (pr-pl)/c2a)
386 h5 = eabs5*(pr-pl + h1)/(2._rfreal*c2a)
389 fd(2) = h2*(uav-cav*nx) + h3*uav + h4*(ur-ul-du*nx) + &
391 fd(3) = h2*(vav-cav*ny) + h3*vav + h4*(vr-vl-du*ny) + &
393 fd(4) = h2*(wav-cav*nz) + h3*wav + h4*(wr-wl-du*nz) + &
395 fd(5) = h2*(hav-cav*uvw) + h3*q2a + h4*(uav*(ur-ul)+ &
396 vav*(vr-vl)+wav*(wr-wl)-uvw*du) + &
405 diss(cv_mixt_dens,ijkc0 ) = diss(cv_mixt_dens,ijkc0 ) - fd(1)
406 diss(cv_mixt_xmom,ijkc0 ) = diss(cv_mixt_xmom,ijkc0 ) - fd(2)
407 diss(cv_mixt_ymom,ijkc0 ) = diss(cv_mixt_ymom,ijkc0 ) - fd(3)
408 diss(cv_mixt_zmom,ijkc0 ) = diss(cv_mixt_zmom,ijkc0 ) - fd(4)
409 diss(cv_mixt_ener,ijkc0 ) = diss(cv_mixt_ener,ijkc0 ) - fd(5)
411 diss(cv_mixt_dens,ijkcm1) = diss(cv_mixt_dens,ijkcm1) + fd(1)
412 diss(cv_mixt_xmom,ijkcm1) = diss(cv_mixt_xmom,ijkcm1) + fd(2)
413 diss(cv_mixt_ymom,ijkcm1) = diss(cv_mixt_ymom,ijkcm1) + fd(3)
414 diss(cv_mixt_zmom,ijkcm1) = diss(cv_mixt_zmom,ijkcm1) + fd(4)
415 diss(cv_mixt_ener,ijkcm1) = diss(cv_mixt_ener,ijkcm1) + fd(5)
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE kpcbeg
subroutine registerfunction(global, funName, fileName)
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE jpcbeg
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE ipcend
subroutine rflo_getnodeoffset(region, iLev, iNodeOffset, ijNodeOffset)
REAL(RFREAL) function entropy_corr1(z, d)
void int int int REAL REAL REAL * z
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE ipcbeg
subroutine rflo_roedissipfirst(region)
subroutine rflo_getcelloffset(region, iLev, iCellOffset, ijCellOffset)
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE jpcend
subroutine deregisterfunction(global)
subroutine rflo_getdimensphys(region, iLev, ipcbeg, ipcend, jpcbeg, jpcend, kpcbeg, kpcend)