56 TYPE(t_region
) :: region
59 INTEGER ::
i,
j,
k, ipatch
63 INTEGER :: ilev, icoff, ijcoff, inoff, ijnoff, ijkc0, ijkc1, ijkn, indsvel
65 REAL(RFREAL) :: rhl, rhr, qsl, qsr, pav, fc(5)
66 REAL(RFREAL),
POINTER :: cv(:,:), dv(:,:),
rhs(:,:), si(:,:), sj(:,:), sk(:,:)
67 REAL(RFREAL),
POINTER :: sivel(:), sjvel(:), skvel(:)
72 'RFLO_RoeFluxFirst.F90' )
76 ilev = region%currLevel
83 cv => region%levels(ilev)%mixt%cv
84 dv => region%levels(ilev)%mixt%dv
85 rhs => region%levels(ilev)%mixt%rhs
86 si => region%levels(ilev)%grid%si
87 sj => region%levels(ilev)%grid%sj
88 sk => region%levels(ilev)%grid%sk
89 sivel => region%levels(ilev)%grid%siVel
90 sjvel => region%levels(ilev)%grid%sjVel
91 skvel => region%levels(ilev)%grid%skVel
92 indsvel = region%levels(ilev)%grid%indSvel
99 ijkc0 = indijk(
i ,
j,
k,icoff,ijcoff)
100 ijkc1 = indijk(
i-1,
j,
k,icoff,ijcoff)
101 ijkn = indijk(
i ,
j,
k,inoff,ijnoff)
103 rhl = dv(dv_mixt_pres,ijkc1) + cv(cv_mixt_ener,ijkc1)
104 qsl = dv(dv_mixt_uvel,ijkc1)*si(xcoord,ijkn) + &
105 dv(dv_mixt_vvel,ijkc1)*si(ycoord,ijkn) + &
106 dv(dv_mixt_wvel,ijkc1)*si(zcoord,ijkn) - sivel(ijkn*indsvel)
107 rhr = dv(dv_mixt_pres,ijkc0) + cv(cv_mixt_ener,ijkc0)
108 qsr = dv(dv_mixt_uvel,ijkc0)*si(xcoord,ijkn) + &
109 dv(dv_mixt_vvel,ijkc0)*si(ycoord,ijkn) + &
110 dv(dv_mixt_wvel,ijkc0)*si(zcoord,ijkn) - sivel(ijkn*indsvel)
111 pav = 0.5_rfreal*(dv(dv_mixt_pres,ijkc0)+dv(dv_mixt_pres,ijkc1))
113 fc(1) = 0.5_rfreal*(qsl*cv(cv_mixt_dens,ijkc1)+ &
114 qsr*cv(cv_mixt_dens,ijkc0))
115 fc(2) = 0.5_rfreal*(qsl*cv(cv_mixt_xmom,ijkc1)+ &
116 qsr*cv(cv_mixt_xmom,ijkc0)) + pav*si(xcoord,ijkn)
117 fc(3) = 0.5_rfreal*(qsl*cv(cv_mixt_ymom,ijkc1)+ &
118 qsr*cv(cv_mixt_ymom,ijkc0)) + pav*si(ycoord,ijkn)
119 fc(4) = 0.5_rfreal*(qsl*cv(cv_mixt_zmom,ijkc1)+ &
120 qsr*cv(cv_mixt_zmom,ijkc0)) + pav*si(zcoord,ijkn)
121 fc(5) = 0.5_rfreal*(qsl*rhl+qsr*rhr) + sivel(ijkn*indsvel)*pav
123 rhs(cv_mixt_dens,ijkc0) =
rhs(cv_mixt_dens,ijkc0) + fc(1)
124 rhs(cv_mixt_xmom,ijkc0) =
rhs(cv_mixt_xmom,ijkc0) + fc(2)
125 rhs(cv_mixt_ymom,ijkc0) =
rhs(cv_mixt_ymom,ijkc0) + fc(3)
126 rhs(cv_mixt_zmom,ijkc0) =
rhs(cv_mixt_zmom,ijkc0) + fc(4)
127 rhs(cv_mixt_ener,ijkc0) =
rhs(cv_mixt_ener,ijkc0) + fc(5)
129 rhs(cv_mixt_dens,ijkc1) =
rhs(cv_mixt_dens,ijkc1) - fc(1)
130 rhs(cv_mixt_xmom,ijkc1) =
rhs(cv_mixt_xmom,ijkc1) - fc(2)
131 rhs(cv_mixt_ymom,ijkc1) =
rhs(cv_mixt_ymom,ijkc1) - fc(3)
132 rhs(cv_mixt_zmom,ijkc1) =
rhs(cv_mixt_zmom,ijkc1) - fc(4)
133 rhs(cv_mixt_ener,ijkc1) =
rhs(cv_mixt_ener,ijkc1) - fc(5)
143 ijkc0 = indijk(
i,
j ,
k,icoff,ijcoff)
144 ijkc1 = indijk(
i,
j-1,
k,icoff,ijcoff)
145 ijkn = indijk(
i,
j ,
k,inoff,ijnoff)
147 rhl = dv(dv_mixt_pres,ijkc1) + cv(cv_mixt_ener,ijkc1)
148 qsl = dv(dv_mixt_uvel,ijkc1)*sj(xcoord,ijkn) + &
149 dv(dv_mixt_vvel,ijkc1)*sj(ycoord,ijkn) + &
150 dv(dv_mixt_wvel,ijkc1)*sj(zcoord,ijkn) - sjvel(ijkn*indsvel)
151 rhr = dv(dv_mixt_pres,ijkc0) + cv(cv_mixt_ener,ijkc0)
152 qsr = dv(dv_mixt_uvel,ijkc0)*sj(xcoord,ijkn) + &
153 dv(dv_mixt_vvel,ijkc0)*sj(ycoord,ijkn) + &
154 dv(dv_mixt_wvel,ijkc0)*sj(zcoord,ijkn) - sjvel(ijkn*indsvel)
155 pav = 0.5_rfreal*(dv(dv_mixt_pres,ijkc0)+dv(dv_mixt_pres,ijkc1))
157 fc(1) = 0.5_rfreal*(qsl*cv(cv_mixt_dens,ijkc1)+ &
158 qsr*cv(cv_mixt_dens,ijkc0))
159 fc(2) = 0.5_rfreal*(qsl*cv(cv_mixt_xmom,ijkc1)+ &
160 qsr*cv(cv_mixt_xmom,ijkc0)) + pav*sj(xcoord,ijkn)
161 fc(3) = 0.5_rfreal*(qsl*cv(cv_mixt_ymom,ijkc1)+ &
162 qsr*cv(cv_mixt_ymom,ijkc0)) + pav*sj(ycoord,ijkn)
163 fc(4) = 0.5_rfreal*(qsl*cv(cv_mixt_zmom,ijkc1)+ &
164 qsr*cv(cv_mixt_zmom,ijkc0)) + pav*sj(zcoord,ijkn)
165 fc(5) = 0.5_rfreal*(qsl*rhl+qsr*rhr) + sjvel(ijkn*indsvel)*pav
167 rhs(cv_mixt_dens,ijkc0) =
rhs(cv_mixt_dens,ijkc0) + fc(1)
168 rhs(cv_mixt_xmom,ijkc0) =
rhs(cv_mixt_xmom,ijkc0) + fc(2)
169 rhs(cv_mixt_ymom,ijkc0) =
rhs(cv_mixt_ymom,ijkc0) + fc(3)
170 rhs(cv_mixt_zmom,ijkc0) =
rhs(cv_mixt_zmom,ijkc0) + fc(4)
171 rhs(cv_mixt_ener,ijkc0) =
rhs(cv_mixt_ener,ijkc0) + fc(5)
173 rhs(cv_mixt_dens,ijkc1) =
rhs(cv_mixt_dens,ijkc1) - fc(1)
174 rhs(cv_mixt_xmom,ijkc1) =
rhs(cv_mixt_xmom,ijkc1) - fc(2)
175 rhs(cv_mixt_ymom,ijkc1) =
rhs(cv_mixt_ymom,ijkc1) - fc(3)
176 rhs(cv_mixt_zmom,ijkc1) =
rhs(cv_mixt_zmom,ijkc1) - fc(4)
177 rhs(cv_mixt_ener,ijkc1) =
rhs(cv_mixt_ener,ijkc1) - fc(5)
187 ijkc0 = indijk(
i,
j,
k ,icoff,ijcoff)
188 ijkc1 = indijk(
i,
j,
k-1,icoff,ijcoff)
189 ijkn = indijk(
i,
j,
k ,inoff,ijnoff)
191 rhl = dv(dv_mixt_pres,ijkc1) + cv(cv_mixt_ener,ijkc1)
192 qsl = dv(dv_mixt_uvel,ijkc1)*sk(xcoord,ijkn) + &
193 dv(dv_mixt_vvel,ijkc1)*sk(ycoord,ijkn) + &
194 dv(dv_mixt_wvel,ijkc1)*sk(zcoord,ijkn) - skvel(ijkn*indsvel)
195 rhr = dv(dv_mixt_pres,ijkc0) + cv(cv_mixt_ener,ijkc0)
196 qsr = dv(dv_mixt_uvel,ijkc0)*sk(xcoord,ijkn) + &
197 dv(dv_mixt_vvel,ijkc0)*sk(ycoord,ijkn) + &
198 dv(dv_mixt_wvel,ijkc0)*sk(zcoord,ijkn) - skvel(ijkn*indsvel)
199 pav = 0.5_rfreal*(dv(dv_mixt_pres,ijkc0)+dv(dv_mixt_pres,ijkc1))
201 fc(1) = 0.5_rfreal*(qsl*cv(cv_mixt_dens,ijkc1)+ &
202 qsr*cv(cv_mixt_dens,ijkc0))
203 fc(2) = 0.5_rfreal*(qsl*cv(cv_mixt_xmom,ijkc1)+ &
204 qsr*cv(cv_mixt_xmom,ijkc0)) + pav*sk(xcoord,ijkn)
205 fc(3) = 0.5_rfreal*(qsl*cv(cv_mixt_ymom,ijkc1)+ &
206 qsr*cv(cv_mixt_ymom,ijkc0)) + pav*sk(ycoord,ijkn)
207 fc(4) = 0.5_rfreal*(qsl*cv(cv_mixt_zmom,ijkc1)+ &
208 qsr*cv(cv_mixt_zmom,ijkc0)) + pav*sk(zcoord,ijkn)
209 fc(5) = 0.5_rfreal*(qsl*rhl+qsr*rhr) + skvel(ijkn*indsvel)*pav
211 rhs(cv_mixt_dens,ijkc0) =
rhs(cv_mixt_dens,ijkc0) + fc(1)
212 rhs(cv_mixt_xmom,ijkc0) =
rhs(cv_mixt_xmom,ijkc0) + fc(2)
213 rhs(cv_mixt_ymom,ijkc0) =
rhs(cv_mixt_ymom,ijkc0) + fc(3)
214 rhs(cv_mixt_zmom,ijkc0) =
rhs(cv_mixt_zmom,ijkc0) + fc(4)
215 rhs(cv_mixt_ener,ijkc0) =
rhs(cv_mixt_ener,ijkc0) + fc(5)
217 rhs(cv_mixt_dens,ijkc1) =
rhs(cv_mixt_dens,ijkc1) - fc(1)
218 rhs(cv_mixt_xmom,ijkc1) =
rhs(cv_mixt_xmom,ijkc1) - fc(2)
219 rhs(cv_mixt_ymom,ijkc1) =
rhs(cv_mixt_ymom,ijkc1) - fc(3)
220 rhs(cv_mixt_zmom,ijkc1) =
rhs(cv_mixt_zmom,ijkc1) - fc(4)
221 rhs(cv_mixt_ener,ijkc1) =
rhs(cv_mixt_ener,ijkc1) - fc(5)
228 DO ipatch=1,region%nPatches
subroutine rflo_roefluxfirst(region)
**********************************************************************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)
**********************************************************************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_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 rflo_roefluxpatch(region, patch)
subroutine deregisterfunction(global)
subroutine rflo_getdimensphys(region, iLev, ipcbeg, ipcend, jpcbeg, jpcend, kpcbeg, kpcend)