70 TYPE(t_region
) :: region
72 INTEGER :: ibegv, iendv, ibegg, iendg
73 REAL(RFREAL),
POINTER :: var(:,:),
gradi(:,:),
gradj(:,:), gradk(:,:)
76 INTEGER ::
i,
j,
k, l, lx, ly, lz
79 INTEGER :: ilev, lbound, bctype
82 INTEGER :: icoff, ijcoff, inoff, ijnoff, ijkn, ijkn1, ijkc, ijkc1
84 INTEGER :: iextrap_slipw,iextrap_inject
86 REAL(RFREAL) :: sgn, fnx, fny, fnz, avol, rvol, avar(ibegv:iendv)
87 REAL(RFREAL) :: snx, sny, snz, rsurf
88 REAL(RFREAL) :: sdotgrad(ibegv:iendv)
89 REAL(RFREAL),
POINTER :: sface(:,:), grad(:,:), vol(:)
94 'RFLO_CalcGradPhysBc.F90' )
98 ilev = region%currLevel
100 bctype =
patch%bcType
107 nvar = iendv - ibegv + 1
109 vol => region%levels(ilev)%grid%vol
117 IF( lbound==2 .OR. lbound==4 .OR. lbound==6 )
THEN
124 IF (lbound==1 .OR. lbound==2)
THEN
125 sface => region%levels(ilev)%grid%si
127 ELSE IF (lbound==3 .OR. lbound==4)
THEN
128 sface => region%levels(ilev)%grid%sj
130 ELSE IF (lbound==5 .OR. lbound==6)
THEN
131 sface => region%levels(ilev)%grid%sk
135 IF (bctype>=bc_slipwall .AND. bctype<=bc_slipwall+bc_range) &
136 iextrap_slipw =
patch%mixt%switches(bcswi_slipw_extrap)
137 IF (bctype>=bc_injection .AND. bctype<=bc_injection+bc_range) &
138 iextrap_inject =
patch%mixt%switches(bcswi_inject_extrap)
140 IF ((bctype>=bc_slipwall .AND. bctype<=bc_slipwall+bc_range &
141 .AND. iextrap_slipw==extrapol_linear) .OR. &
142 (bctype>=bc_noslipwall .AND. bctype<=bc_noslipwall+bc_range) .OR. &
143 (bctype>=bc_injection .AND. bctype<=bc_injection+bc_range &
144 .AND. iextrap_inject==extrapol_linear) .OR. &
145 (bctype>=bc_inflow .AND. bctype<=bc_inflow+bc_range) .OR. &
146 (bctype>=bc_outflow .AND. bctype<=bc_outflow+bc_range) .OR. &
147 (bctype>=bc_farfield .AND. bctype<=bc_farfield+bc_range))
THEN
157 ELSE IF((bctype>=bc_slipwall .AND. bctype<=bc_slipwall+bc_range &
158 .AND. iextrap_slipw==extrapol_const ) .OR. &
159 (bctype>=bc_injection .AND. bctype<=bc_injection+bc_range &
160 .AND. iextrap_inject==extrapol_const ))
THEN
164 ELSE IF (bctype>=bc_symmetry .AND. bctype<=bc_symmetry+bc_range)
THEN
177 rsurf = sface(xcoord,ijkn)**2+sface(ycoord,ijkn)**2+sface(zcoord,ijkn)**2
178 rsurf = 1.0_rfreal/rsurf
179 snx = sface(xcoord,ijkn)*rsurf
180 sny = sface(ycoord,ijkn)*rsurf
181 snz = sface(zcoord,ijkn)*rsurf
188 sdotgrad(l) = sface(xcoord,ijkn)*grad(lx,ijkn)+ &
189 sface(ycoord,ijkn)*grad(ly,ijkn)+ &
190 sface(zcoord,ijkn)*grad(lz,ijkn)
192 grad(lx,ijkn) = grad(lx,ijkn)-sdotgrad(l)*snx
193 grad(ly,ijkn) = grad(ly,ijkn)-sdotgrad(l)*sny
194 grad(lz,ijkn) = grad(lz,ijkn)-sdotgrad(l)*snz
201 ELSE IF (bctype>=bc_regionint .AND. bctype<=bc_regionint+bc_range)
THEN
203 ELSE IF (bctype>=bc_regnonconf .AND. bctype<=bc_regnonconf+bc_range)
THEN
225 ijkc = indijk(
i ,
j ,
k ,icoff,ijcoff)
230 fnx = .5_rfreal*(sface(xcoord,ijkn)+sface(xcoord,ijkn1))
231 fny = .5_rfreal*(sface(ycoord,ijkn)+sface(ycoord,ijkn1))
232 fnz = .5_rfreal*(sface(zcoord,ijkn)+sface(zcoord,ijkn1))
233 avol= .5_rfreal*(vol(ijkc)+vol(ijkc1))
234 rvol= 2.0_rfreal/avol
243 grad(lx,ijkn)=grad(lx,ijkn)*avol-sgn*fnx*var(l,ijkc1)
244 grad(ly,ijkn)=grad(ly,ijkn)*avol-sgn*fny*var(l,ijkc1)
245 grad(lz,ijkn)=grad(lz,ijkn)*avol-sgn*fnz*var(l,ijkc1)
250 avar(l)=.5_rfreal*(var(l,ijkc)+var(l,ijkc1))
251 grad(lx,ijkn)=grad(lx,ijkn)+sgn*fnx*avar(l)
252 grad(ly,ijkn)=grad(ly,ijkn)+sgn*fny*avar(l)
253 grad(lz,ijkn)=grad(lz,ijkn)+sgn*fnz*avar(l)
257 grad(lx,ijkn)=grad(lx,ijkn)*rvol
258 grad(ly,ijkn)=grad(ly,ijkn)*rvol
259 grad(lz,ijkn)=grad(lz,ijkn)*rvol
282 grad(lx,ijkn) = 2.0_rfreal*grad(lx,ijkn)
283 grad(ly,ijkn) = 2.0_rfreal*grad(ly,ijkn)
284 grad(lz,ijkn) = 2.0_rfreal*grad(lz,ijkn)
**********************************************************************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)
subroutine rflo_calcgradphysbc(region, patch, iBegV, iEndV, iBegG, iEndG, var, gradi, gradj, gradk)
**********************************************************************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 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 iEndG gradi(:,:)
**********************************************************************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
subroutine rflo_finishgradpatchconstant
**********************************************************************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)
subroutine rflo_finishgradpatchlinear
**********************************************************************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
**********************************************************************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 iEndG gradj(:,:)