56 TYPE(t_region
) :: region
59 INTEGER :: ilev,
i,
j,
k
63 INTEGER :: inoff, ijnoff, corner(4)
65 REAL(RFREAL) :: xyzquad(3,4), xyzhexa(3,8), facevecs(3,6), dvol, dt
66 REAL(RFREAL),
POINTER :: xyzold(:,:), xyz(:,:), siold(:,:), sjold(:,:), &
67 skold(:,:), si(:,:), sj(:,:), sk(:,:), &
68 sivel(:), sjvel(:), skvel(:)
73 'RFLO_CalcGridSpeeds.F90' )
77 DO ilev=1,region%nGridLevels
83 xyzold => region%levels(ilev)%gridOld%xyz
84 siold => region%levels(ilev)%gridOld%si
85 sjold => region%levels(ilev)%gridOld%sj
86 skold => region%levels(ilev)%gridOld%sk
87 xyz => region%levels(ilev)%grid%xyz
88 si => region%levels(ilev)%grid%si
89 sj => region%levels(ilev)%grid%sj
90 sk => region%levels(ilev)%grid%sk
91 sivel => region%levels(ilev)%grid%siVel
92 sjvel => region%levels(ilev)%grid%sjVel
93 skvel => region%levels(ilev)%grid%skVel
95 dt = region%global%dtMin
102 corner(1) = indijk(
i,
j ,
k ,inoff,ijnoff)
103 corner(2) = indijk(
i,
j ,
k+1,inoff,ijnoff)
104 corner(3) = indijk(
i,
j+1,
k+1,inoff,ijnoff)
105 corner(4) = indijk(
i,
j+1,
k ,inoff,ijnoff)
107 xyzhexa(1:3,1) = xyz(1:3,corner(1))
108 xyzhexa(1:3,2) = xyz(1:3,corner(2))
109 xyzhexa(1:3,3) = xyz(1:3,corner(3))
110 xyzhexa(1:3,4) = xyz(1:3,corner(4))
111 xyzhexa(1:3,5) = xyzold(1:3,corner(1))
112 xyzhexa(1:3,6) = xyzold(1:3,corner(2))
113 xyzhexa(1:3,7) = xyzold(1:3,corner(3))
114 xyzhexa(1:3,8) = xyzold(1:3,corner(4))
116 facevecs(1:3,1) = si(1:3,corner(1))
117 facevecs(1:3,2) = -siold(1:3,corner(1))
119 xyzquad(1:3,1) = xyzold(1:3,corner(1))
120 xyzquad(1:3,2) = xyzold(1:3,corner(2))
121 xyzquad(1:3,3) = xyz(1:3,corner(2))
122 xyzquad(1:3,4) = xyz(1:3,corner(1))
124 facevecs(xcoord,3), &
125 facevecs(ycoord,3), &
128 xyzquad(1:3,1) = xyzold(1:3,corner(3))
129 xyzquad(1:3,2) = xyzold(1:3,corner(4))
130 xyzquad(1:3,3) = xyz(1:3,corner(4))
131 xyzquad(1:3,4) = xyz(1:3,corner(3))
133 facevecs(xcoord,4), &
134 facevecs(ycoord,4), &
137 xyzquad(1:3,1) = xyzold(1:3,corner(4))
138 xyzquad(1:3,2) = xyzold(1:3,corner(1))
139 xyzquad(1:3,3) = xyz(1:3,corner(1))
140 xyzquad(1:3,4) = xyz(1:3,corner(4))
142 facevecs(xcoord,5), &
143 facevecs(ycoord,5), &
146 xyzquad(1:3,1) = xyzold(1:3,corner(2))
147 xyzquad(1:3,2) = xyzold(1:3,corner(3))
148 xyzquad(1:3,3) = xyz(1:3,corner(3))
149 xyzquad(1:3,4) = xyz(1:3,corner(2))
151 facevecs(xcoord,6), &
152 facevecs(ycoord,6), &
157 sivel(corner(1)) = dvol/dt
167 corner(1) = indijk(
i+1,
j,
k ,inoff,ijnoff)
168 corner(2) = indijk(
i+1,
j,
k+1,inoff,ijnoff)
169 corner(3) = indijk(
i ,
j,
k+1,inoff,ijnoff)
170 corner(4) = indijk(
i ,
j,
k ,inoff,ijnoff)
172 xyzhexa(1:3,1) = xyz(1:3,corner(1))
173 xyzhexa(1:3,2) = xyz(1:3,corner(2))
174 xyzhexa(1:3,3) = xyz(1:3,corner(3))
175 xyzhexa(1:3,4) = xyz(1:3,corner(4))
176 xyzhexa(1:3,5) = xyzold(1:3,corner(1))
177 xyzhexa(1:3,6) = xyzold(1:3,corner(2))
178 xyzhexa(1:3,7) = xyzold(1:3,corner(3))
179 xyzhexa(1:3,8) = xyzold(1:3,corner(4))
181 facevecs(1:3,1) = sj(1:3,corner(4))
182 facevecs(1:3,2) = -sjold(1:3,corner(4))
184 xyzquad(1:3,1) = xyzold(1:3,corner(1))
185 xyzquad(1:3,2) = xyzold(1:3,corner(2))
186 xyzquad(1:3,3) = xyz(1:3,corner(2))
187 xyzquad(1:3,4) = xyz(1:3,corner(1))
189 facevecs(xcoord,3), &
190 facevecs(ycoord,3), &
193 xyzquad(1:3,1) = xyzold(1:3,corner(3))
194 xyzquad(1:3,2) = xyzold(1:3,corner(4))
195 xyzquad(1:3,3) = xyz(1:3,corner(4))
196 xyzquad(1:3,4) = xyz(1:3,corner(3))
198 facevecs(xcoord,4), &
199 facevecs(ycoord,4), &
202 xyzquad(1:3,1) = xyzold(1:3,corner(4))
203 xyzquad(1:3,2) = xyzold(1:3,corner(1))
204 xyzquad(1:3,3) = xyz(1:3,corner(1))
205 xyzquad(1:3,4) = xyz(1:3,corner(4))
207 facevecs(xcoord,5), &
208 facevecs(ycoord,5), &
211 xyzquad(1:3,1) = xyzold(1:3,corner(2))
212 xyzquad(1:3,2) = xyzold(1:3,corner(3))
213 xyzquad(1:3,3) = xyz(1:3,corner(3))
214 xyzquad(1:3,4) = xyz(1:3,corner(2))
216 facevecs(xcoord,6), &
217 facevecs(ycoord,6), &
222 sjvel(corner(4)) = dvol/dt
232 corner(1) = indijk(
i+1,
j ,
k,inoff,ijnoff)
233 corner(2) = indijk(
i ,
j ,
k,inoff,ijnoff)
234 corner(3) = indijk(
i ,
j+1,
k,inoff,ijnoff)
235 corner(4) = indijk(
i+1,
j+1,
k,inoff,ijnoff)
237 xyzhexa(1:3,1) = xyz(1:3,corner(1))
238 xyzhexa(1:3,2) = xyz(1:3,corner(2))
239 xyzhexa(1:3,3) = xyz(1:3,corner(3))
240 xyzhexa(1:3,4) = xyz(1:3,corner(4))
241 xyzhexa(1:3,5) = xyzold(1:3,corner(1))
242 xyzhexa(1:3,6) = xyzold(1:3,corner(2))
243 xyzhexa(1:3,7) = xyzold(1:3,corner(3))
244 xyzhexa(1:3,8) = xyzold(1:3,corner(4))
246 facevecs(1:3,1) = sk(1:3,corner(2))
247 facevecs(1:3,2) = -skold(1:3,corner(2))
249 xyzquad(1:3,1) = xyzold(1:3,corner(1))
250 xyzquad(1:3,2) = xyzold(1:3,corner(2))
251 xyzquad(1:3,3) = xyz(1:3,corner(2))
252 xyzquad(1:3,4) = xyz(1:3,corner(1))
254 facevecs(xcoord,3), &
255 facevecs(ycoord,3), &
258 xyzquad(1:3,1) = xyzold(1:3,corner(3))
259 xyzquad(1:3,2) = xyzold(1:3,corner(4))
260 xyzquad(1:3,3) = xyz(1:3,corner(4))
261 xyzquad(1:3,4) = xyz(1:3,corner(3))
263 facevecs(xcoord,4), &
264 facevecs(ycoord,4), &
267 xyzquad(1:3,1) = xyzold(1:3,corner(4))
268 xyzquad(1:3,2) = xyzold(1:3,corner(1))
269 xyzquad(1:3,3) = xyz(1:3,corner(1))
270 xyzquad(1:3,4) = xyz(1:3,corner(4))
272 facevecs(xcoord,5), &
273 facevecs(ycoord,5), &
276 xyzquad(1:3,1) = xyzold(1:3,corner(2))
277 xyzquad(1:3,2) = xyzold(1:3,corner(3))
278 xyzquad(1:3,3) = xyz(1:3,corner(3))
279 xyzquad(1:3,4) = xyz(1:3,corner(2))
281 facevecs(xcoord,6), &
282 facevecs(ycoord,6), &
287 skvel(corner(2)) = dvol/dt
**********************************************************************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 jpnbeg
**********************************************************************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 kpnbeg
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 jpnend
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 ipnbeg
subroutine rflo_calcgridspeeds(region)
subroutine rflo_getdimensphysnodes(region, iLev, ipnbeg, ipnend, jpnbeg, jpnend, kpnbeg, kpnend)
subroutine volumehexa(xyzNodes, faceVecs, volume)
subroutine facevectorquad(xyzNodes, fVecX, fVecY, fVecZ)
subroutine deregisterfunction(global)
**********************************************************************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 ipnend