61 CHARACTER(CHRLEN) :: &
62 RCSIdentString =
'$RCSfile: RFLU_ModRelatedPatches.F90,v $ $Revision: 1.5 $'
103 TYPE(t_patch),
POINTER :: ppatch
104 TYPE(t_region
),
POINTER :: pregion
110 INTEGER :: errorflag,icg,icl
111 REAL(RFREAL) :: ct,ex,ey,ez,st,theta
112 REAL(RFREAL) ::
v(3),vr(3)
113 REAL(RFREAL) :: rotmat(3,3)
114 REAL(RFREAL),
DIMENSION(:,:),
POINTER :: pvar
116 TYPE(t_grid),
POINTER :: pgrid
122 global => pregion%global
125 'RFLU_ModRelatedPatches.F90')
131 pgrid => pregion%grid
137 IF ( ppatch%bcType /= bc_periodic )
THEN
138 CALL
errorstop(global,err_bc_invalid,__line__)
145 theta = ppatch%angleRelated
150 SELECT CASE ( ppatch%axisRelated )
164 CALL
errorstop(global,err_reached_default,__line__)
167 rotmat(1,1) = ct + (1.0_rfreal-ct)*ex*ex
168 rotmat(1,2) = (1.0_rfreal-ct)*ex*ey - st*ez
169 rotmat(1,3) = (1.0_rfreal-ct)*ex*ez + st*ey
171 rotmat(2,1) = (1.0_rfreal-ct)*ey*ex + st*ez
172 rotmat(2,2) = ct + (1.0_rfreal-ct)*ey*ey
173 rotmat(2,3) = (1.0_rfreal-ct)*ey*ez - st*ex
175 rotmat(3,1) = (1.0_rfreal-ct)*ez*ex - st*ey
176 rotmat(3,2) = (1.0_rfreal-ct)*ez*ey + st*ex
177 rotmat(3,3) = ct + (1.0_rfreal-ct)*ez*ez
183 pvar => pregion%mixt%cv
185 DO icl = 1,ppatch%nBCellsVirt
186 icg = ppatch%bvc(icl)
188 v(1) = pvar(cv_mixt_xmom,icg)
189 v(2) = pvar(cv_mixt_ymom,icg)
190 v(3) = pvar(cv_mixt_zmom,icg)
192 vr = matmul(rotmat,
v)
194 pvar(cv_mixt_xmom,icg) = vr(1)
195 pvar(cv_mixt_ymom,icg) = vr(2)
196 pvar(cv_mixt_zmom,icg) = vr(3)
251 TYPE(t_patch),
POINTER :: ppatch
252 TYPE(t_region
),
POINTER :: pregion
259 REAL(RFREAL) :: nx,ny,nz,vx,vy,vz
260 REAL(RFREAL),
DIMENSION(:,:),
POINTER :: pvar
262 TYPE(t_grid),
POINTER :: pgrid
268 global => pregion%global
271 'RFLU_ModRelatedPatches.F90')
277 IF ( ppatch%bcType /= bc_symmetry )
THEN
278 CALL
errorstop(global,err_bc_invalid,__line__)
285 nx = ppatch%pn(xcoord)
286 ny = ppatch%pn(ycoord)
287 nz = ppatch%pn(zcoord)
293 pvar => pregion%mixt%cv
295 DO icl = 1,ppatch%nBCellsVirt
296 icg = ppatch%bvc(icl)
298 vx = pvar(cv_mixt_xmom,icg)
299 vy = pvar(cv_mixt_ymom,icg)
300 vz = pvar(cv_mixt_zmom,icg)
304 pvar(cv_mixt_xmom,icg) = vx
305 pvar(cv_mixt_ymom,icg) = vy
306 pvar(cv_mixt_zmom,icg) = vz
365 REAL(RFREAL),
INTENT(INOUT) :: vx,vy,vz
366 TYPE(t_patch),
POINTER :: ppatch
367 TYPE(t_region
),
POINTER :: pregion
373 REAL(RFREAL) ::
v(4),vt(4)
380 global => pregion%global
383 'RFLU_ModRelatedPatches.F90')
389 IF ( ppatch%bcType /= bc_periodic )
THEN
390 CALL
errorstop(global,err_bc_invalid,__line__)
402 vt = matmul(ppatch%tm,
v)
449 TYPE(t_region
),
POINTER :: pregion
455 INTEGER :: errorflag,ipatch
457 TYPE(t_grid),
POINTER :: pgrid
458 TYPE(t_patch),
POINTER :: ppatch
464 global => pregion%global
467 'RFLU_ModRelatedPatches.F90')
473 pgrid => pregion%grid
479 DO ipatch = 1,pgrid%nPatches
480 ppatch => pregion%patches(ipatch)
482 IF ( ppatch%nBCellsVirt > 0 )
THEN
483 SELECT CASE ( ppatch%bcType )
489 CALL
errorstop(global,err_reached_default,__line__)
subroutine registerfunction(global, funName, fileName)
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to and or **sell copies of the and to permit persons to whom the **Software is furnished to do subject to the following this list of conditions and the following disclaimers ****Redistributions in binary form must reproduce the above **copyright this list of conditions and the following **disclaimers in the documentation and or other materials **provided with the distribution ****Neither the names of the Center for Simulation of Advanced the University of nor the names of its **contributors may be used to endorse or promote products derived **from this Software without specific prior written permission ****THE SOFTWARE IS PROVIDED AS 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 v
subroutine reflectvector(nx, ny, nz, xComp, yComp, zComp)
subroutine errorstop(global, errorCode, errorLine, addMessage)
subroutine deregisterfunction(global)