64 TYPE(t_region
) :: region
71 CHARACTER(CHRLEN) :: rcsidentstring
74 INTEGER :: ilev, lbound, nref, isub, jsub, ksub
77 INTEGER :: icoff, ijcoff, inoff, ijnoff, ix,jx,kx, iz,jz,kz, ixz,jxz,kxz
78 INTEGER :: ijkn1b, ijkn1, ijkn1x, ijkn1z, ijkval
79 INTEGER :: ijkn2b, ijkn2, ijkn2x, ijkn2z
80 INTEGER :: ijkn1bx, ijkn1bz, ijkn1bxz, ijkn2bx, ijkn2bz, ijkn2bxz
81 INTEGER :: ijkn0b, ijkn0bx, ijkn0bz, ijkn0bxz
83 REAL(RFREAL) :: sxi(3),
set(3), szt(3), fcenb(3), fcene(3), xyz(3,4)
84 REAL(RFREAL) :: modsxi, modset, modszt, sgn
85 REAL(RFREAL),
POINTER :: sfxi(:,:), sfet(:,:), sfzt(:,:)
89 rcsidentstring =
'$RCSfile: TURB_floWlmMetric.F90,v $ $Revision: 1.5 $'
91 global => region%global
93 'TURB_floWlmMetric.F90' )
97 ilev = region%currLevel
99 nref =
patch%valBola%switches(wlm_input_refpoint) - 1
110 IF (lbound==2 .OR. lbound==4 .OR. lbound==6)
THEN
117 IF (lbound==1 .OR. lbound==2)
THEN
127 sfxi => region%levels(ilev)%grid%sk
128 sfet => region%levels(ilev)%grid%si
129 sfzt => region%levels(ilev)%grid%sj
130 ELSEIF (lbound==3 .OR. lbound==4)
THEN
140 sfxi => region%levels(ilev)%grid%si
141 sfet => region%levels(ilev)%grid%sj
142 sfzt => region%levels(ilev)%grid%sk
143 ELSEIF (lbound==5 .OR. lbound==6)
THEN
153 sfxi => region%levels(ilev)%grid%sj
154 sfet => region%levels(ilev)%grid%sk
155 sfzt => region%levels(ilev)%grid%si
176 ijkn1b = indijk(isub+
inode,jsub+
jnode,ksub+knode,inoff,ijnoff)
177 ijkn1 = indijk(isub ,jsub ,ksub ,inoff,ijnoff)
178 ijkn1x = indijk(isub+ix ,jsub+jx ,ksub+kx ,inoff,ijnoff)
179 ijkn1z = indijk(isub+iz ,jsub+jz ,ksub+kz ,inoff,ijnoff)
184 IF (lbound==1 .OR. lbound==2)
THEN
186 ELSEIF (lbound==3 .OR. lbound==4)
THEN
188 ELSEIF (lbound==5 .OR. lbound==6)
THEN
193 sxi(l) = -0.5_rfreal*(sfxi(l,ijkn1)+sfxi(l,ijkn1x))
194 set(l) = -sgn*0.5_rfreal*(sfet(l,ijkn1b)+sfet(l,ijkn2b))
195 szt(l) = -0.5_rfreal*(sfzt(l,ijkn1)+sfzt(l,ijkn1z))
198 modsxi =
sqrt( sxi(1)*sxi(1)+sxi(2)*sxi(2)+sxi(3)*sxi(3) )
200 modszt =
sqrt( szt(1)*szt(1)+szt(2)*szt(2)+szt(3)*szt(3) )
202 patch%valBola%vals(ijkval,wlm_vals_xix) = sxi(1)/modsxi
203 patch%valBola%vals(ijkval,wlm_vals_etx) =
set(1)/modset
204 patch%valBola%vals(ijkval,wlm_vals_ztx) = szt(1)/modszt
206 patch%valBola%vals(ijkval,wlm_vals_xiy) = sxi(2)/modsxi
207 patch%valBola%vals(ijkval,wlm_vals_ety) =
set(2)/modset
208 patch%valBola%vals(ijkval,wlm_vals_zty) = szt(2)/modszt
210 patch%valBola%vals(ijkval,wlm_vals_xiz) = sxi(3)/modsxi
211 patch%valBola%vals(ijkval,wlm_vals_etz) =
set(3)/modset
212 patch%valBola%vals(ijkval,wlm_vals_ztz) = szt(3)/modszt
220 ijkn1bx = indijk(isub+ix ,jsub+jx ,ksub+kx ,inoff,ijnoff)
221 ijkn1bz = indijk(isub+iz ,jsub+jz ,ksub+kz ,inoff,ijnoff)
222 ijkn1bxz= indijk(isub+ixz ,jsub+jxz ,ksub+kxz ,inoff,ijnoff)
225 indijk(isub+
idir+ix ,jsub+
jdir+jx ,ksub+
kdir+kx ,inoff,ijnoff)
227 indijk(isub+
idir+iz ,jsub+
jdir+jz ,ksub+
kdir+kz ,inoff,ijnoff)
229 indijk(isub+
idir+ixz ,jsub+
jdir+jxz ,ksub+
kdir+kxz ,inoff,ijnoff)
232 xyz(l,1) = region%levels(ilev)%grid%xyz(l,ijkn1b)
233 xyz(l,2) = region%levels(ilev)%grid%xyz(l,ijkn2b)
234 xyz(l,3) = region%levels(ilev)%grid%xyz(l,ijkn1bz)
235 xyz(l,4) = region%levels(ilev)%grid%xyz(l,ijkn2bz)
236 fcenb(l) = 0.25_rfreal*(xyz(l,1) + xyz(l,2) + xyz(l,3) + xyz(l,4))
238 xyz(l,1) = region%levels(ilev)%grid%xyz(l,ijkn1bx)
239 xyz(l,2) = region%levels(ilev)%grid%xyz(l,ijkn2bx)
240 xyz(l,3) = region%levels(ilev)%grid%xyz(l,ijkn1bxz)
241 xyz(l,4) = region%levels(ilev)%grid%xyz(l,ijkn2bxz)
242 fcene(l) = 0.25_rfreal*(xyz(l,1) + xyz(l,2) + xyz(l,3) + xyz(l,4))
244 patch%valBola%vals(ijkval,wlm_vals_dxi) =
sqrt( (fcene(1)-fcenb(1))**2+ &
245 (fcene(2)-fcenb(2))**2+ &
246 (fcene(3)-fcenb(3))**2 )
249 xyz(l,1) = region%levels(ilev)%grid%xyz(l,ijkn1b)
250 xyz(l,2) = region%levels(ilev)%grid%xyz(l,ijkn2b)
251 xyz(l,3) = region%levels(ilev)%grid%xyz(l,ijkn1bx)
252 xyz(l,4) = region%levels(ilev)%grid%xyz(l,ijkn2bx)
253 fcenb(l) = 0.25_rfreal*(xyz(l,1) + xyz(l,2) + xyz(l,3) + xyz(l,4))
255 xyz(l,1) = region%levels(ilev)%grid%xyz(l,ijkn1bz)
256 xyz(l,2) = region%levels(ilev)%grid%xyz(l,ijkn2bz)
257 xyz(l,3) = region%levels(ilev)%grid%xyz(l,ijkn1bxz)
258 xyz(l,4) = region%levels(ilev)%grid%xyz(l,ijkn2bxz)
259 fcene(l) = 0.25_rfreal*(xyz(l,1) + xyz(l,2) + xyz(l,3) + xyz(l,4))
261 patch%valBola%vals(ijkval,wlm_vals_dzt) =
sqrt( (fcene(1)-fcenb(1))**2+ &
262 (fcene(2)-fcenb(2))**2+ &
263 (fcene(3)-fcenb(3))**2 )
271 ijkn0b = indijk(isub ,jsub ,ksub ,inoff,ijnoff)
272 ijkn0bx = indijk(isub+ix ,jsub+jx ,ksub+kx ,inoff,ijnoff)
273 ijkn0bz = indijk(isub+iz ,jsub+jz ,ksub+kz ,inoff,ijnoff)
274 ijkn0bxz = indijk(isub+ixz ,jsub+jxz ,ksub+kxz ,inoff,ijnoff)
277 xyz(l,1) = region%levels(ilev)%grid%xyz(l,ijkn1b)
278 xyz(l,2) = region%levels(ilev)%grid%xyz(l,ijkn1bx)
279 xyz(l,3) = region%levels(ilev)%grid%xyz(l,ijkn1bz)
280 xyz(l,4) = region%levels(ilev)%grid%xyz(l,ijkn1bxz)
281 fcenb(l) = 0.25_rfreal*(xyz(l,1) + xyz(l,2) + xyz(l,3) + xyz(l,4))
282 xyz(l,1) = region%levels(ilev)%grid%xyz(l,ijkn2b)
283 xyz(l,2) = region%levels(ilev)%grid%xyz(l,ijkn2bx)
284 xyz(l,3) = region%levels(ilev)%grid%xyz(l,ijkn2bz)
285 xyz(l,4) = region%levels(ilev)%grid%xyz(l,ijkn2bxz)
286 fcene(l) = 0.25_rfreal*(xyz(l,1) + xyz(l,2) + xyz(l,3) + xyz(l,4))
287 fcene(l) = 0.50_rfreal*(fcene(l)+fcenb(l))
288 xyz(l,1) = region%levels(ilev)%grid%xyz(l,ijkn0b)
289 xyz(l,2) = region%levels(ilev)%grid%xyz(l,ijkn0bx)
290 xyz(l,3) = region%levels(ilev)%grid%xyz(l,ijkn0bz)
291 xyz(l,4) = region%levels(ilev)%grid%xyz(l,ijkn0bxz)
292 fcenb(l) = 0.25_rfreal*(xyz(l,1) + xyz(l,2) + xyz(l,3) + xyz(l,4))
293 set(l) = -sgn*0.5_rfreal*(sfet(l,ijkn1b)+sfet(l,ijkn2b))
296 patch%valBola%vals(ijkval,wlm_vals_wdist) = &
297 abs( (fcene(1)-fcenb(1))*
set(1)+ &
298 (fcene(2)-fcenb(2))*
set(2)+ &
299 (fcene(3)-fcenb(3))*
set(3) )/modset
**********************************************************************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 ibeg
subroutine rflo_getpatchdirection(patch, idir, jdir, kdir)
**********************************************************************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 inode
subroutine registerfunction(global, funName, fileName)
subroutine rflo_getpatchindices(region, patch, iLev, ibeg, iend, jbeg, jend, kbeg, kend)
subroutine turb_flowlmmetric(region, patch)
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 jdir
**********************************************************************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 knode iend
**********************************************************************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 idir
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 knode jend
**********************************************************************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 kdir
void set(const Value *p, Element_node_enumerator &ene, int strd)
initialize the accessor with a pointer and a specific stride.
**********************************************************************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 knode jbeg
**********************************************************************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 knode kbeg
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 jnode