64 TYPE(t_region
),
POINTER :: region
68 INTEGER ::
i,
j,
k, ijkn, ijkc0, ijkc1, ipatch
71 CHARACTER(CHRLEN) :: rcsidentstring
75 INTEGER :: ibn,ien,idbeg,idend,npatches,nbfaces,tndel(diri:dirk)
76 REAL(RFREAL) :: kappa2,rkappa2,two3rd
77 REAL(RFREAL) :: delfac2,delfkap2,forterm
78 REAL(RFREAL),
POINTER :: bfvol(:),bfsij(:,:),bfvar(:,:),bffvar(:,:)
79 REAL(RFREAL),
POINTER :: bsij(:,:),bmij(:,:)
80 REAL(RFREAL),
POINTER :: field(:,:),tfield(:,:)
81 REAL(RFREAL),
ALLOCATABLE :: modstrain(:)
85 rcsidentstring =
'$RCSfile: TURB_fluLesBMij.F90,v $'
87 global => region%global
89 'TURB_fluLesBMij.F90' )
93 npatches = region%grid%nPatches
96 DO ipatch = 1,npatches
97 patch => region%patches(ipatch)
98 nbfaces = nbfaces +
patch%nBTris +
patch%nBQuads
103 bfvar => region%turb%bfVar
104 bffvar => region%turb%bffVar
105 bmij => region%turb%bMij
106 bfvol => region%turb%bfVolI
107 bsij => region%turb%bmIsij
108 bfsij => region%turb%bfISij
112 ALLOCATE( modstrain(ibn:ien) )
113 ALLOCATE( field(e11:e33,ibn:ien),tfield(e11:e33,ibn:ien) )
117 tndel(diri) = 2*region%turbInput%filterWidth(diri)
123 rkappa2= 1._rfreal/kappa2
124 two3rd = 2._rfreal/3._rfreal
129 delfac2 = region%turbInput%delFac2
130 delfkap2 = delfac2*kappa2
139 bfsij(e33,ijkn)=-(bfsij(e11,ijkn)+bfsij(e22,ijkn))
142 modstrain(ijkn)=
sqrt(bfsij(e11,ijkn)*bfsij(e11,ijkn) &
143 +bfsij(e22,ijkn)*bfsij(e22,ijkn) &
144 +bfsij(e11,ijkn)*bfsij(e22,ijkn) &
145 +bfsij(e12,ijkn)*bfsij(e12,ijkn) &
146 +bfsij(e13,ijkn)*bfsij(e13,ijkn) &
147 +bfsij(e23,ijkn)*bfsij(e23,ijkn))
151 tfield(e11,ijkn) = delfkap2*bfvol(ijkn)**two3rd
158 forterm = -tfield(e11,ijkn)/bffvar(cv_turb_dens,ijkn)* &
161 bmij(e11,ijkn) = forterm*bfsij(e11,ijkn)
162 bmij(e12,ijkn) = forterm*bfsij(e12,ijkn)
163 bmij(e13,ijkn) = forterm*bfsij(e13,ijkn)
164 bmij(e22,ijkn) = forterm*bfsij(e22,ijkn)
165 bmij(e23,ijkn) = forterm*bfsij(e23,ijkn)
166 bmij(e33,ijkn) = forterm*bfsij(e33,ijkn)
173 modstrain(ijkn) =
sqrt(bsij(e11,ijkn)*bsij(e11,ijkn) &
174 +bsij(e22,ijkn)*bsij(e22,ijkn) &
175 +bsij(e11,ijkn)*bsij(e22,ijkn) &
176 +bsij(e12,ijkn)*bsij(e12,ijkn) &
177 +bsij(e13,ijkn)*bsij(e13,ijkn) &
178 +bsij(e23,ijkn)*bsij(e23,ijkn))
183 forterm = tfield(e11,ijkn)/bfvar(cv_turb_dens,ijkn)*rkappa2* &
186 field(e11,ijkn) = forterm*bsij(e11,ijkn)
187 field(e12,ijkn) = forterm*bsij(e12,ijkn)
188 field(e13,ijkn) = forterm*bsij(e13,ijkn)
189 field(e22,ijkn) = forterm*bsij(e22,ijkn)
190 field(e23,ijkn) = forterm*bsij(e23,ijkn)
191 field(e33,ijkn) = -forterm*(bsij(e11,ijkn)+bsij(e22,ijkn))
204 bmij(e11,ijkn) = bmij(e11,ijkn) + tfield(e11,ijkn)
205 bmij(e12,ijkn) = bmij(e12,ijkn) + tfield(e12,ijkn)
206 bmij(e13,ijkn) = bmij(e13,ijkn) + tfield(e13,ijkn)
207 bmij(e22,ijkn) = bmij(e22,ijkn) + tfield(e22,ijkn)
208 bmij(e23,ijkn) = bmij(e23,ijkn) + tfield(e23,ijkn)
209 bmij(e33,ijkn) = bmij(e33,ijkn) + tfield(e33,ijkn)
214 DEALLOCATE( modstrain,field,tfield )
subroutine registerfunction(global, funName, fileName)
subroutine turb_flulesbmij(region, ijk)
subroutine deregisterfunction(global)