66 TYPE(t_region
) :: region
76 INTEGER :: ilev, icoff, ijcoff, ijkc0, ibc, iec
77 INTEGER :: n1, n2, n3, n4, n5, n6, naddgas, naddplag, naddpeul
79 REAL(RFREAL) :: rati, maxvfrac, rtresh
80 REAL(RFREAL),
POINTER :: coef(:,:), optc(:,:), cellvol(:), gofact(:)
81 REAL(RFREAL),
POINTER :: vfrac(:,:), pdiam(:,:)
82 REAL(RFREAL),
ALLOCATABLE :: volfrac(:), exteff(:), rdiam(:)
84 INTEGER :: ipcls, npcls, ncont, npclcel
85 REAL(RFREAL) :: diasumcel, volsumcel, volsumpcl
86 INTEGER,
POINTER :: paiv(:,:), pdvplagvolu(:)
87 REAL(RFREAL),
POINTER :: pdv(:,:)
91 REAL(RFREAL) :: ptdiam, pteffdens, smokdens
92 REAL(RFREAL),
POINTER :: peulcv(:,:)
98 'RADI_ExtinctionCoef.F90' )
102 ilev = region%currLevel
112 coef => region%levels(ilev)%radi%radCoef
113 gofact => region%levels(ilev)%radi%goFact
114 optc => region%radiInput%optConst
120 IF ((radi_phase_dispart - radi_phase_gas /= 1 ) .OR. &
121 (radi_phase_conpart - radi_phase_dispart /= 1 ))
THEN
122 CALL
errorstop( global,err_radi_fixparam,__line__, &
123 'radiation phase indexing is not consistent' )
132 IF (region%radiInput%media == radi_media_artif)
THEN
134 ALLOCATE( volfrac(nphase), exteff(nphase), rdiam(nphase) )
137 volfrac(
n) = optc(phase_prop_v,
n)
138 exteff(
n) = optc(phase_prop_q,
n)
139 rdiam(
n) = 1._rfreal/optc(phase_prop_d,
n)
145 ijkc0 = indijk(
i ,
j ,
k ,icoff,ijcoff)
148 coef(ijkc0,radi_coeff_extinct)= coef(ijkc0,radi_coeff_extinct)+ &
149 volfrac(
n)*exteff(
n)*rdiam(
n)
152 coef(ijkc0,radi_coeff_extinct) = rati*coef(ijkc0,radi_coeff_extinct)
157 DEALLOCATE( volfrac, exteff, rdiam )
159 ELSEIF (region%radiInput%media == radi_media_real)
THEN
161 cellvol => region%levels(ilev)%grid%vol
167 IF (global%plagUsed)
THEN
172 IF (global%peulUsed)
THEN
173 naddpeul = region%peulInput%nPtypes - 1
178 n2 = radi_phase_gas + naddgas
179 n3 = radi_phase_dispart + naddgas
180 n4 = radi_phase_dispart + naddgas + naddplag
181 n5 = radi_phase_conpart + naddgas + naddplag
182 n6 = radi_phase_conpart + naddgas + naddplag + naddpeul
184 ALLOCATE( vfrac(n6,ibc:iec) )
185 ALLOCATE( pdiam(n6,ibc:iec) )
190 vfrac(n1:n2,:) = optc(phase_prop_v,radi_phase_gas)
191 pdiam(n1:n2,:) = optc(phase_prop_d,radi_phase_gas)
195 IF (global%plagUsed)
THEN
197 paiv => region%levels(ilev)%plag%aiv
198 pdv => region%levels(ilev)%plag%dv
199 pdvplagvolu => region%levels(ilev)%plag%dvPlagVolu
201 npcls = region%levels(ilev)%plag%nPcls
202 ncont = region%plagInput%nCont
205 IF ( npcls > 0 )
THEN
210 ijkc0 = indijk(
i ,
j ,
k ,icoff,ijcoff)
212 diasumcel = 0._rfreal
213 volsumcel = 0._rfreal
219 IF (paiv(aiv_plag_icells,ipcls) == ijkc0)
THEN
222 volsumpcl =
sum(pdv(pdvplagvolu(:),ipcls))
225 volsumcel = volsumcel + volsumpcl
228 diasumcel = diasumcel + pdv(dv_plag_diam,ipcls)
229 npclcel = npclcel + 1
234 vfrac(n3:n4,ijkc0) = volsumcel/cellvol(ijkc0)
235 pdiam(n3:n4,ijkc0) = diasumcel/
REAL(npclcel,kind=rfreal)
250 IF (global%peulUsed)
THEN
252 peulcv => region%levels(ilev)%peul%cv
255 DO iptype = 1,region%peulInput%nPtypes
257 ptdiam = region%peulInput%ptypes(iptype)%diam
258 pteffdens = region%peulInput%ptypes(iptype)%denseff
263 ijkc0 = indijk(
i ,
j ,
k ,icoff,ijcoff)
265 smokdens =
max( peulcv(cv_peul_dens+iptype-1,ijkc0), 0._rfreal )
266 vfrac(n5+iptype-1,ijkc0) = smokdens/pteffdens
267 pdiam(n5+iptype-1,ijkc0) = ptdiam
276 ALLOCATE( volfrac(n6) )
277 ALLOCATE( exteff(n6) )
281 exteff(n1:n2) = optc(phase_prop_q,radi_phase_gas)
282 exteff(n3:n4) = optc(phase_prop_q,radi_phase_dispart)
283 exteff(n5:n6) = optc(phase_prop_q,radi_phase_conpart)
290 ijkc0 = indijk(
i ,
j ,
k ,icoff,ijcoff)
293 volfrac(
n) =
min( optc(phase_prop_v,radi_phase_gas), &
297 volfrac(
n) =
min( optc(phase_prop_v,radi_phase_dispart), &
301 volfrac(
n) =
min( optc(phase_prop_v,radi_phase_conpart), &
305 maxvfrac =
max( maxvfrac,
sum( volfrac(:) ) )
308 coef(ijkc0,radi_coeff_extinct)= coef(ijkc0,radi_coeff_extinct)+ &
309 volfrac(
n)*exteff(
n)/pdiam(
n,ijkc0)
312 coef(ijkc0,radi_coeff_extinct) = rati*coef(ijkc0,radi_coeff_extinct)
317 DEALLOCATE( vfrac, pdiam, volfrac, exteff )
318 IF (maxvfrac > 1._rfreal) goto 10
324 rtresh = 1._rfreal/radi_real_ecmin
329 ijkc0 = indijk(
i ,
j ,
k ,icoff,ijcoff)
330 gofact(ijkc0) = aint( coef(ijkc0,radi_coeff_extinct)*rtresh )
331 gofact(ijkc0) =
min( gofact(ijkc0), 1._rfreal )
343 CALL
errorstop( global,err_radi_mulphase,__line__, &
344 'total volume fractions of particles and smoke > 1.' )
359 INTEGER :: m1, m2, ibegc, iendc
360 REAL(RFREAL),
POINTER :: var(:,:)
363 INTEGER :: l, ijkc, ijkci
371 ijkc = indijk(
i ,
j ,
k ,icoff,ijcoff)
372 ijkci = indijk(1 ,
j ,
k ,icoff,ijcoff)
375 var(l,ijkc) = var(l,ijkci)
379 ijkc = indijk(
i ,
j ,
k ,icoff,ijcoff)
380 ijkci = indijk(
ipcend ,
j ,
k ,icoff,ijcoff)
383 var(l,ijkc) = var(l,ijkci)
395 ijkc = indijk(
i ,
j ,
k ,icoff,ijcoff)
396 ijkci = indijk(
i ,1 ,
k ,icoff,ijcoff)
399 var(l,ijkc) = var(l,ijkci)
404 ijkc = indijk(
i ,
j ,
k ,icoff,ijcoff)
405 ijkci = indijk(
i ,
jpcend ,
k ,icoff,ijcoff)
408 var(l,ijkc) = var(l,ijkci)
420 ijkc = indijk(
i ,
j ,
k ,icoff,ijcoff)
421 ijkci = indijk(
i ,
j ,1 ,icoff,ijcoff)
424 var(l,ijkc) = var(l,ijkci)
429 ijkc = indijk(
i ,
j ,
k ,icoff,ijcoff)
430 ijkci = indijk(
i ,
j ,kpcend ,icoff,ijcoff)
433 var(l,ijkc) = var(l,ijkci)
Tfloat sum() const
Return the sum of all the pixel values in an image.
**********************************************************************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 idcend
**********************************************************************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 kpcbeg
Vector_n max(const Array_n_const &v1, const Array_n_const &v2)
subroutine registerfunction(global, funName, fileName)
**********************************************************************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 jpcbeg
**********************************************************************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 ipcend
subroutine rflo_getdimensdummy(region, iLev, idcbeg, idcend, jdcbeg, jdcend, kdcbeg, kdcend)
**********************************************************************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 kdcbeg
**********************************************************************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 ipcbeg
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 idcbeg
**********************************************************************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 jdcend
Vector_n min(const Array_n_const &v1, const Array_n_const &v2)
subroutine radi_extinctioncoef(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 jpcend
**********************************************************************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 jdcbeg
subroutine errorstop(global, errorCode, errorLine, addMessage)
subroutine deregisterfunction(global)
subroutine rflo_getdimensphys(region, iLev, ipcbeg, ipcend, jpcbeg, jpcend, kpcbeg, kpcend)
subroutine copy2dumcells(m1, m2, var)