Rocstar  1.0
Rocstar multiphysics simulation application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
TURB_floLesGenFiltFF.F90
Go to the documentation of this file.
1 ! *********************************************************************
2 ! * Rocstar Simulation Suite *
3 ! * Copyright@2015, Illinois Rocstar LLC. All rights reserved. *
4 ! * *
5 ! * Illinois Rocstar LLC *
6 ! * Champaign, IL *
7 ! * www.illinoisrocstar.com *
8 ! * sales@illinoisrocstar.com *
9 ! * *
10 ! * License: See LICENSE file in top level of distribution package or *
11 ! * http://opensource.org/licenses/NCSA *
12 ! *********************************************************************
13 ! *********************************************************************
14 ! * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, *
15 ! * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES *
16 ! * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND *
17 ! * NONINFRINGEMENT. IN NO EVENT SHALL THE CONTRIBUTORS OR *
18 ! * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER *
19 ! * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, *
20 ! * Arising FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE *
21 ! * USE OR OTHER DEALINGS WITH THE SOFTWARE. *
22 ! *********************************************************************
23 !******************************************************************************
24 !
25 ! Purpose: Perform face to face filtering.
26 !
27 ! Description: The filtering is performed in i, j and k direction, subsequently.
28 ! For each direction, distinction is made between homogeneous
29 ! and non-homogeneous direction. If the filtering direction is
30 ! homogeneous, uniform filtering is carried out, otherwise
31 ! nonuniform filtering.
32 !
33 ! Input: region = data of current region
34 ! ijk = ijk-face being treated
35 ! nDel = three components filter width parameter
36 ! idBeg = begin variable index to be filtered
37 ! idEnd = end variable index to be filtered
38 ! fVar = face variable to be filtered
39 !
40 ! Output: fbVar = filtered face variable
41 !
42 ! Notes: This routine is only relevant if non-uniform filter is selected.
43 !
44 !******************************************************************************
45 !
46 ! $Id: TURB_floLesGenFiltFF.F90,v 1.4 2008/12/06 08:44:43 mtcampbe Exp $
47 !
48 ! Copyright: (c) 2001 by the University of Illinois
49 !
50 !******************************************************************************
51 
52 SUBROUTINE turb_flolesgenfiltff( region,ijk,nDel,idBeg,idEnd,fVar,fbVar )
53 
54  USE moddatatypes
55  USE moddatastruct, ONLY : t_region
56  USE modglobal, ONLY : t_global
62  USE modturbulence
63  USE moderror
64  USE modparameters
66  IMPLICIT NONE
67 
68 #include "Indexing.h"
69 
70 ! ... parameters
71  TYPE(t_region) :: region
72  INTEGER :: ijk,ndel(diri:dirk),idbeg,idend
73  REAL(RFREAL), POINTER :: fvar(:,:),fbvar(:,:)
74 
75 ! ... loop variables
76  INTEGER :: i, j, k, l, ijkn
77 
78 ! ... local variables
79  CHARACTER(CHRLEN) :: rcsidentstring
80  TYPE(t_global), POINTER :: global
81 
82  INTEGER :: ibeg,iend,jbeg,jend,kbeg,kend
83  INTEGER :: idnbeg,idnend,jdnbeg,jdnend,kdnbeg,kdnend
84  INTEGER :: ilev,inoff,ijnoff,ibn,ien
85  INTEGER :: homdir(diri:dirk)
86 
87  REAL(RFREAL) :: fact1(filwidth_four), fact2(filwidth_four)
88  REAL(RFREAL), POINTER :: wrkbar(:,:)
89 
90 !******************************************************************************
91 
92  rcsidentstring = '$RCSfile: TURB_floLesGenFiltFF.F90,v $'
93 
94  global => region%global
95  CALL registerfunction( global,'TURB_FloLesGenFiltFF',&
96  'TURB_floLesGenFiltFF.F90' )
97 
98 ! get indices, parameters and pointers ----------------------------------------
99 
100  ilev = region%currLevel
101  homdir(:) = region%turbInput%homDir(:)
102  CALL rflo_getdimensdummynodes( region,ilev,idnbeg,idnend, &
103  jdnbeg,jdnend,kdnbeg,kdnend )
104  CALL rflo_getnodeoffset( region,ilev,inoff,ijnoff )
105  ibn = indijk(idnbeg,jdnbeg,kdnbeg,inoff,ijnoff)
106  ien = indijk(idnend,jdnend,kdnend,inoff,ijnoff)
107 
108  ALLOCATE( wrkbar(idbeg:idend,ibn:ien) )
109 
110  fact1(filwidth_one) = 0.125_rfreal
111  fact2(filwidth_one) = 0.75_rfreal
112  fact1(filwidth_two) = 0.25_rfreal
113  fact2(filwidth_two) = 0.50_rfreal
114  fact1(filwidth_four) = 0.125_rfreal
115  fact2(filwidth_four) = 0.25_rfreal
116 
117 !------------------------------------------------------------------------
118 ! we begin with integration over I-direction
119 
120  ibeg = idnbeg+1
121  iend = idnend-1
122  jbeg = jdnbeg
123  jend = jdnend
124  kbeg = kdnbeg
125  kend = kdnend
126 
127  IF (homdir(diri) /= off) THEN
128  CALL turb_flolesunifiltffi( global,ibeg,iend,jbeg,jend,kbeg,kend,inoff, &
129  ijnoff,ndel,idbeg,idend,fact1,fact2,fvar,fbvar )
130  ELSE
131  CALL turb_flolesgenfiltffi( region,ijk,ibeg,iend,jbeg,jend,kbeg,kend, &
132  inoff,ijnoff,ndel,idbeg,idend,fvar,fbvar )
133  ENDIF
134 
135 ! extrapolate filtered variables to outers ijk-face layers
136 
137  CALL turb_floextrapolfacevec( region,diri,idbeg,idend,fbvar )
138 
139 !------------------------------------------------------------------
140 ! next, integrate over J-direction
141 
142  ibeg = idnbeg
143  iend = idnend
144  jbeg = jdnbeg+1
145  jend = jdnend-1
146  kbeg = kdnbeg
147  kend = kdnend
148 
149  IF (homdir(dirj) /= off) THEN
150  CALL turb_flolesunifiltffj( global,ibeg,iend,jbeg,jend,kbeg,kend,inoff, &
151  ijnoff,ndel,idbeg,idend,fact1,fact2,fbvar,wrkbar )
152  ELSE
153  CALL turb_flolesgenfiltffj( region,ijk,ibeg,iend,jbeg,jend,kbeg,kend, &
154  inoff,ijnoff,ndel,idbeg,idend,fbvar,wrkbar )
155  ENDIF
156 
157 ! extrapolate filtered variables to outerst ijk-face layers
158 
159  CALL turb_floextrapolfacevec( region,dirj,idbeg,idend,wrkbar )
160 
161 !------------------------------------------------------------------
162 ! finally, integrate over K-direction
163 
164  ibeg = idnbeg
165  iend = idnend
166  jbeg = jdnbeg
167  jend = jdnend
168  kbeg = kdnbeg+1
169  kend = kdnend-1
170 
171  IF (homdir(dirk) /= off) THEN
172  CALL turb_flolesunifiltffk( global,ibeg,iend,jbeg,jend,kbeg,kend,inoff, &
173  ijnoff,ndel,idbeg,idend,fact1,fact2,wrkbar,fbvar )
174  ELSE
175  CALL turb_flolesgenfiltffk( region,ijk,ibeg,iend,jbeg,jend,kbeg,kend, &
176  inoff,ijnoff,ndel,idbeg,idend,wrkbar,fbvar )
177  ENDIF
178 
179 ! extrapolate filtered variables to outerst ijk-face layers
180 
181  CALL turb_floextrapolfacevec( region,dirk,idbeg,idend,fbvar )
182 
183 ! deallocate temporary arrays
184 
185  DEALLOCATE( wrkbar )
186 
187 ! finalize --------------------------------------------------------------------
188 
189  CALL deregisterfunction( global )
190 
191 END SUBROUTINE turb_flolesgenfiltff
192 
193 !******************************************************************************
194 !
195 ! RCS Revision history:
196 !
197 ! $Log: TURB_floLesGenFiltFF.F90,v $
198 ! Revision 1.4 2008/12/06 08:44:43 mtcampbe
199 ! Updated license.
200 !
201 ! Revision 1.3 2008/11/19 22:17:55 mtcampbe
202 ! Added Illinois Open Source License/Copyright
203 !
204 ! Revision 1.2 2004/03/12 02:55:36 wasistho
205 ! changed rocturb routine names
206 !
207 ! Revision 1.1 2004/03/08 23:35:45 wasistho
208 ! changed turb nomenclature
209 !
210 ! Revision 1.2 2003/05/15 02:57:06 jblazek
211 ! Inlined index function.
212 !
213 ! Revision 1.1 2002/10/14 23:55:30 wasistho
214 ! Install Rocturb
215 !
216 !
217 !******************************************************************************
218 
219 
220 
221 
222 
223 
224 
**********************************************************************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 turb_flolesunifiltffk(global, ibeg, iend, jbeg, jend, kbeg, kend, iNOff, ijNOff, nDel, idBeg, idEnd, fact1, fact2, fVar, filtVar)
j indices k indices k
Definition: Indexing.h:6
subroutine turb_flolesgenfiltffi(region, ijk, ibeg, iend, jbeg, jend, kbeg, kend, iNOff, ijNOff, nDel, idBeg, idEnd, fVar, filtVar)
subroutine registerfunction(global, funName, fileName)
Definition: ModError.F90:449
subroutine turb_flolesgenfiltffk(region, ijk, ibeg, iend, jbeg, jend, kbeg, kend, iNOff, ijNOff, nDel, idBeg, idEnd, fVar, filtVar)
**********************************************************************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 jdnbeg
**********************************************************************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 idnend
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 jdnend
**********************************************************************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 idnbeg
**********************************************************************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
blockLoc i
Definition: read.cpp:79
subroutine turb_floextrapolfacevec(region, intDIR, idBeg, idEnd, fVec)
subroutine turb_flolesunifiltffj(global, ibeg, iend, jbeg, jend, kbeg, kend, iNOff, ijNOff, nDel, idBeg, idEnd, fact1, fact2, fVar, filtVar)
subroutine turb_flolesunifiltffi(global, ibeg, iend, jbeg, jend, kbeg, kend, iNOff, ijNOff, nDel, idBeg, idEnd, fact1, fact2, fVar, filtVar)
j indices j
Definition: Indexing.h:6
**********************************************************************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
subroutine rflo_getdimensdummynodes(region, iLev, idnbeg, idnend, jdnbeg, jdnend, kdnbeg, kdnend)
subroutine turb_flolesgenfiltff(region, ijk, nDel, idBeg, idEnd, fVar, fbVar)
**********************************************************************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)
Definition: ModError.F90:469
**********************************************************************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 kdnbeg
subroutine turb_flolesgenfiltffj(region, ijk, ibeg, iend, jbeg, jend, kbeg, kend, iNOff, ijNOff, nDel, idBeg, idEnd, fVar, filtVar)