71 TYPE(t_region
),
TARGET :: region
78 CHARACTER(CHRLEN) :: rcsidentstring
79 INTEGER :: c1,distrib,gasmodel,ifl,indcp,indgs,indmol,ipatch
80 REAL(RFREAL) :: cp,dummyreal,fs,fsu,minj,mm,nx,ny,nz,pl,rl,tinj
81 REAL(RFREAL),
DIMENSION(:,:),
POINTER :: pcv,pdv,pgv,pmixtvals
83 TYPE(t_grid),
POINTER :: pgrid
84 TYPE(t_patch),
POINTER :: ppatch
85 TYPE(t_region
),
POINTER :: pregion
92 '$RCSfile: RFLU_PutBoundaryValuesAlpha.F90,v $ $Revision: 1.17 $'
94 global => region%global
97 'RFLU_PutBoundaryValuesAlpha.F90')
104 pgrid => pregion%grid
105 pcv => pregion%mixt%cv
106 pdv => pregion%mixt%dv
107 pgv => pregion%mixt%gv
109 indgs = region%grid%indGs
110 indcp = region%mixtInput%indCp
111 indmol = region%mixtInput%indMol
112 gasmodel = region%mixtInput%gasModel
118 IF ( global%myProcid == masterproc .AND. &
119 global%verbLevel >= verbose_high )
THEN
120 WRITE(stdout,
'(A,1X,A,1X,I3)') solver_name,
'Putting alpha-dependent '// &
121 'values into GENX buffers...'
124 DO ipatch=1,pgrid%nPatches
125 ppatch => region%patches(ipatch)
127 distrib = ppatch%mixt%distrib
129 IF ( global%myProcid == masterproc .AND. &
130 global%checkLevel == check_high .AND. &
131 global%verbLevel >= verbose_high )
THEN
132 IF ( ppatch%bcCoupled == bc_not_coupled )
THEN
133 WRITE(stdout,
'(A,3X,A,1X,I3,1X,A)') solver_name,
'Patch:',ipatch, &
135 ELSE IF ( ppatch%bcCoupled == bc_not_burning )
THEN
136 WRITE(stdout,
'(A,3X,A,1X,I3,1X,A)') solver_name,
'Patch:',ipatch, &
138 ELSE IF ( ppatch%bcCoupled == bc_burning )
THEN
139 WRITE(stdout,
'(A,3X,A,1X,I3,1X,A)') solver_name,
'Patch:',ipatch, &
140 '(interacting and burning)'
152 IF ( ppatch%bcCoupled == bc_not_burning )
THEN
153 DO ifl = 1,ppatch%nBFaces
154 c1 = ppatch%bf2c(ifl)
156 ppatch%rhofAlp(ifl) = pcv(cv_mixt_dens,c1)
158 ppatch%nfAlp(xcoord,ifl) = ppatch%fn(xcoord,ifl)
159 ppatch%nfAlp(ycoord,ifl) = ppatch%fn(ycoord,ifl)
160 ppatch%nfAlp(zcoord,ifl) = ppatch%fn(zcoord,ifl)
163 DO ifl = ppatch%nBFaces+1,ppatch%nBFacesTot
164 ppatch%rhofAlp(ifl) =
REAL(crazy_value_int,kind=rfreal)
166 ppatch%nfAlp(xcoord,ifl) =
REAL(crazy_value_int,kind=rfreal)
167 ppatch%nfAlp(ycoord,ifl) =
REAL(crazy_value_int,kind=rfreal)
168 ppatch%nfAlp(zcoord,ifl) =
REAL(crazy_value_int,kind=rfreal)
171 IF ( global%myProcid == masterproc .AND. &
172 global%checkLevel == check_high .AND. &
173 global%verbLevel >= verbose_high )
THEN
174 IF ( ppatch%nBFaces > 0 .AND. global%verbLevel >= verbose_high)
THEN
175 WRITE(stdout,
'(A,5X,A)') solver_name,
'Minimum/maximum values:'
176 WRITE(stdout,
'(A,7X,A,2(1X,E15.8))') solver_name,
'rhofAlp: ', &
177 minval(ppatch%rhofAlp(1:ppatch%nBFaces)), &
178 maxval(ppatch%rhofAlp(1:ppatch%nBFaces))
189 IF ( ppatch%bcCoupled == bc_burning )
THEN
190 pmixtvals => ppatch%mixt%vals
192 DO ifl = 1,ppatch%nBFaces
193 c1 = ppatch%bf2c(ifl)
195 nx = ppatch%fn(xcoord,ifl)
196 ny = ppatch%fn(ycoord,ifl)
197 nz = ppatch%fn(zcoord,ifl)
199 fs = ppatch%gs(indgs*ifl)
202 IF ( gasmodel == gas_model_tcperf )
THEN
203 cp = pgv(gv_mixt_cp ,indcp *c1)
204 mm = pgv(gv_mixt_mol,indmol*c1)
206 minj = pmixtvals(bcdat_inject_mfrate,distrib*ifl)
208 IF ( minj > 0.0_rfreal )
THEN
209 tinj = pmixtvals(bcdat_inject_temp,distrib*ifl)
211 pl = pdv(dv_mixt_pres,c1)
214 fsu,rl,dummyreal,dummyreal, &
217 rl = pcv(cv_mixt_dens,c1)
220 CALL
errorstop(global,err_reached_default,__line__)
223 ppatch%rhofAlp(ifl) = rl
225 ppatch%nfAlp(xcoord,ifl) = nx
226 ppatch%nfAlp(ycoord,ifl) = ny
227 ppatch%nfAlp(zcoord,ifl) = nz
230 DO ifl = ppatch%nBFaces+1,ppatch%nBFacesTot
231 ppatch%rhofAlp(ifl) =
REAL(crazy_value_int,kind=rfreal)
233 ppatch%nfAlp(xcoord,ifl) =
REAL(crazy_value_int,kind=rfreal)
234 ppatch%nfAlp(ycoord,ifl) =
REAL(crazy_value_int,kind=rfreal)
235 ppatch%nfAlp(zcoord,ifl) =
REAL(crazy_value_int,kind=rfreal)
238 IF ( global%myProcid == masterproc .AND. &
239 global%checkLevel == check_high .AND. &
240 global%verbLevel >= verbose_high )
THEN
241 IF ( ppatch%nBFaces > 0 .AND. global%verbLevel >= verbose_high)
THEN
242 WRITE(stdout,
'(A,5X,A)') solver_name,
'Minimum/maximum values:'
243 WRITE(stdout,
'(A,7X,A,2(1X,E15.8))') solver_name,
'rhofAlp: ', &
244 minval(ppatch%rhofAlp(1:ppatch%nBFaces)), &
245 maxval(ppatch%rhofAlp(1:ppatch%nBFaces))
255 IF ( global%myProcid == masterproc .AND. &
256 global%verbLevel >= verbose_high )
THEN
257 WRITE(stdout,
'(A,1X,A,1X,I3)') solver_name,
'Putting alpha-dependent '// &
258 'values into GENX buffers done.'
subroutine, public rflu_setrindstateinjectperf(cpGas, mmGas, nx, ny, nz, mInj, tInj, pl, fs, rl, ul, vl, wl, Hl)
subroutine initialize(G_b, MAN_INIT, inSurf, inInt, INIT_0D, INIT_1D, IN_obt_attr)
subroutine registerfunction(global, funName, fileName)
real(rfreal) function, public rflu_descalegridspeed(pRegion, fs)
subroutine rflu_putboundaryvaluesalpha(region)
subroutine errorstop(global, errorCode, errorLine, addMessage)
subroutine deregisterfunction(global)