63 TYPE(t_region
),
POINTER :: regions(:)
70 CHARACTER(CHRLEN) :: rcsidentstring
75 INTEGER :: inoff, ijnoff, ijkn
76 REAL(RFREAL) :: maxy, miny, maxz, minz, sndmax, rcvmax, sndmin, rcvmin
77 REAL(RFREAL) ::
delta, pidel
78 REAL(RFREAL),
POINTER :: xyz(:,:)
82 rcsidentstring =
'$RCSfile: PERI_InitSolution.F90,v $'
84 global => regions(ireg)%global
86 'PERI_InitSolution.F90' )
90 IF ((regions(ireg)%periInput%flowKind == peri_flow_cpr) .OR. &
91 (regions(ireg)%periInput%flowKind == peri_flow_channel))
THEN
95 maxy = -1000000._rfreal
96 miny = 1000000._rfreal
97 maxz = -1000000._rfreal
98 minz = 1000000._rfreal
101 DO ir = 1,global%nRegions
102 IF (regions(ir)%procid==global%myProcid .AND. &
103 regions(ir)%active==active)
THEN
105 ilev = regions(ir)%currLevel
110 xyz => regions(ir)%levels(ilev)%grid%xyz
113 DO ireg = lbound(regions,1),ubound(regions,1)
115 xyz => regions(ir)%grid%xyz
118 input => regions(ir)%periInput
120 IF (
input%flowKind==peri_flow_cpr .OR. &
121 input%flowKind==peri_flow_channel)
THEN
124 ijkn = indijk(1 ,
j ,1 ,inoff,ijnoff)
125 maxy =
max( maxy, xyz(ycoord,ijkn) )
126 miny =
min( miny, xyz(ycoord,ijkn) )
130 ijkn = indijk(1 ,1 ,
k ,inoff,ijnoff)
131 maxz =
max( maxz, xyz(zcoord,ijkn) )
132 minz =
min( minz, xyz(zcoord,ijkn) )
136 DO ijkn = 1, regions(ir)%grid%nVert
137 maxy =
max( maxy, xyz(ycoord,ijkn) )
138 miny =
min( miny, xyz(ycoord,ijkn) )
139 maxz =
max( maxz, xyz(zcoord,ijkn) )
140 minz =
min( minz, xyz(zcoord,ijkn) )
150 delta = 0.5_rfreal*(maxy - miny)
151 IF (abs( global%refLength -
delta ) > &
152 max( global%refLength,1._rfreal )*peri_real_small)
THEN
153 CALL
errorstop( global,err_peri_input,__line__, &
154 'maxY-minY in the region /= length scale delta' )
160 CALL mpi_allreduce( sndmax,rcvmax,1,mpi_double_precision,mpi_max, &
161 global%mpiComm, global%mpierr )
162 CALL mpi_allreduce( sndmin,rcvmin,1,mpi_double_precision,mpi_min, &
163 global%mpiComm, global%mpierr )
169 CALL mpi_allreduce( sndmax,rcvmax,1,mpi_double_precision,mpi_max, &
170 global%mpiComm, global%mpierr )
171 CALL mpi_allreduce( sndmin,rcvmin,1,mpi_double_precision,mpi_min, &
172 global%mpiComm, global%mpierr )
178 input => regions(ireg)%periInput
179 input%minmax(1) = miny
180 input%minmax(2) = maxy
181 delta = 0.5_rfreal*(maxy - miny)
185 IF (abs(global%refLength -
delta) > &
186 global%refLength*peri_real_small)
THEN
187 CALL
errorstop( global,err_peri_input,__line__, &
188 'length scale delta is not consistent with the grid' )
193 IF (regions(ireg)%periInput%flowKind == peri_flow_cpr)
THEN
196 IF (abs( global%pi*global%refLength - pidel ) > &
197 max( global%refLength,1._rfreal )*peri_real_small)
THEN
198 CALL
errorstop( global,err_peri_input,__line__, &
199 'spanwise dimension is not consistent with the grid' )
204 ELSEIF (regions(ireg)%periInput%flowKind == peri_flow_channel)
THEN
207 IF (abs( global%pi*global%refLength - pidel ) > &
208 max( global%refLength,1._rfreal )*peri_real_small)
THEN
209 CALL
errorstop( global,err_peri_input,__line__, &
210 'spanwise dimension is not consistent with the grid' )
215 ELSEIF (regions(ireg)%periInput%flowKind == peri_flow_bola)
THEN
221 global%moduleVar(1) = regions(ireg)%periInput%meanPgrad
**********************************************************************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
Vector_n max(const Array_n_const &v1, const Array_n_const &v2)
**********************************************************************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 peri_cocnlinitsolution(region)
subroutine registerfunction(global, funName, fileName)
subroutine peri_cocprinitsolution(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 jpnend
subroutine rflo_getnodeoffset(region, iLev, iNodeOffset, ijNodeOffset)
subroutine input(X, NNODE, NDC, NCELL, NFCE, NBPTS, NBFACE, ITYP, NPROP, XBNDY, XFAR, YFAR, ZFAR)
**********************************************************************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
Vector_n min(const Array_n_const &v1, const Array_n_const &v2)
subroutine rflo_getdimensphysnodes(region, iLev, ipnbeg, ipnend, jpnbeg, jpnend, kpnbeg, kpnend)
subroutine errorstop(global, errorCode, errorLine, addMessage)
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
subroutine peri_initsolution(regions, iReg)