67 CHARACTER(CHRLEN),
PRIVATE :: &
68 RCSIdentString =
'$RCSfile: PLAG_ModEulerian.F90,v $ $Revision: 1.8 $'
134 TYPE(t_region
),
POINTER :: pregion
142 INTEGER :: ilev,icelloffset, ijcelloffset
145 INTEGER :: errorflag,ibc,
ic,icont,iec,ipcl,ivar,ncont,npcls,nplagcell,nvars
146 INTEGER,
POINTER,
DIMENSION(:) :: cvmass
148 REAL(RFREAL) :: diammicron,massl,masssqrl,nplagcellinv
149 REAL(RFREAL),
POINTER,
DIMENSION(:,:) :: cv,dv,ev
152 TYPE(t_grid),
POINTER :: pgrid
153 TYPE(t_plag),
POINTER :: pplag
159 global => pregion%global
162 'PLAG_ModEulerian.F90')
165 ilev = pregion%currLevel
166 pgrid => pregion%levels(ilev)%grid
167 pplag => pregion%levels(ilev)%plag
173 iec = indijk(
idcend,
jdcend,kdcend,icelloffset,ijcelloffset)
177 pgrid => pregion%grid
178 pplag => pregion%plag
184 ncont = pregion%plagInput%nCont
188 cvmass => pplag%cvPlagMass
193 IF ( pplag%nPcls > 0 )
THEN
201 ev(ivar,
ic) = 0.0_rfreal
210 ic = pplag%aiv(aiv_plag_icells,ipcl)
212 diammicron = dv(dv_plag_diam,ipcl)*1.0e+06_rfreal
213 massl =
sum(cv(cvmass(:),ipcl))
215 ev(ev_plag_diam3,
ic) = ev(ev_plag_diam3,
ic) +diammicron**3.0_rfreal
216 ev(ev_plag_diam4,
ic) = ev(ev_plag_diam4,
ic) +diammicron**4.0_rfreal
218 ev(ev_plag_numdens,
ic) = ev(ev_plag_numdens,
ic) +1.0_rfreal
220 ev(ev_plag_uvel,
ic) = ev(ev_plag_uvel,
ic) +dv(dv_plag_uvel,ipcl)
221 ev(ev_plag_vvel,
ic) = ev(ev_plag_vvel,
ic) +dv(dv_plag_vvel,ipcl)
222 ev(ev_plag_wvel,
ic) = ev(ev_plag_wvel,
ic) +dv(dv_plag_wvel,ipcl)
224 ev(ev_plag_mass,
ic) = ev(ev_plag_mass,
ic) +massl
227 ev(ev_plag_last+icont,
ic) = ev(ev_plag_last+icont,
ic) &
228 + cv(cvmass(icont),ipcl)
239 nplagcell = ev(ev_plag_numdens,
ic)
241 IF ( nplagcell > 0 )
THEN
242 nplagcellinv = 1.0/
REAL(nplagcell,kind=rfreal)
244 DO ivar = 1, ev_plag_numdens-1
245 ev(ivar,
ic) = ev(ivar,
ic) *nplagcellinv
248 DO ivar = ev_plag_numdens+1, nvars
249 ev(ivar,
ic) = ev(ivar,
ic) *nplagcellinv
300 TYPE(t_region
) :: pregion
304 TYPE(t_region
),
POINTER :: pregion
307 TYPE(t_plag),
POINTER :: pplag
315 INTEGER :: ilev,icelloffset, ijcelloffset
318 INTEGER :: errorflag,ibc,iec,nev
320 TYPE(t_grid),
POINTER :: pgrid
326 global => pregion%global
329 'PLAG_ModEulerian.F90')
334 ilev = pregion%currLevel
335 pgrid => pregion%levels(ilev)%grid
341 iec = indijk(
idcend,
jdcend,kdcend,icelloffset,ijcelloffset)
345 pgrid => pregion%grid
354 ALLOCATE(pplag%ev(nev,ibc:iec),stat=errorflag)
355 global%error = errorflag
356 IF ( global%error /= err_none )
THEN
357 CALL
errorstop(global,err_allocate,__line__,
'pPlag%ev')
402 TYPE(t_region
) :: pregion
406 TYPE(t_region
),
POINTER :: pregion
409 TYPE(t_plag),
POINTER :: pplag
422 global => pregion%global
425 'PLAG_ModEulerian.F90')
431 DEALLOCATE(pplag%ev,stat=errorflag)
432 global%error = errorflag
433 IF ( global%error /= err_none )
THEN
434 CALL
errorstop(global,err_deallocate,__line__,
'pPlag%ev')
484 TYPE(t_region
) :: pregion
488 TYPE(t_region
),
POINTER :: pregion
491 TYPE(t_plag),
POINTER :: pplag
499 INTEGER :: ilev,icelloffset, ijcelloffset
502 INTEGER :: errorflag,ibc,iec,
icell,ivar,nvars
504 TYPE(t_grid),
POINTER :: pgrid
510 global => pregion%global
513 'PLAG_ModEulerian.F90')
518 ilev = pregion%currLevel
519 pgrid => pregion%levels(ilev)%grid
525 iec = indijk(
idcend,
jdcend,kdcend,icelloffset,ijcelloffset)
529 pgrid => pregion%grid
540 pplag%ev(ivar,
icell) = 0.0_rfreal
576 SUBROUTINE plag_rflu_calceulerianfield(pRegion,ev)
588 REAL(RFREAL),
DIMENSION(:,:) :: ev
589 TYPE(t_region
),
POINTER :: pregion
595 INTEGER :: errorflag,ibc,icg,icont,iec,ipcl,ivar,ncells1d,ncont,npcls, &
596 nplagcell,nvars,nvarsplot
597 INTEGER,
POINTER,
DIMENSION(:) :: cvmass
599 REAL(RFREAL) :: diammicron,massl,masssqrl,nplagcellinv
600 REAL(RFREAL) :: massfracl,densl,densmixt,sploadl,voll,volmixt
601 REAL(RFREAL),
POINTER,
DIMENSION(:,:) :: cv,dv
604 TYPE(t_grid),
POINTER :: pgrid
605 TYPE(t_plag),
POINTER :: pplag
611 global => pregion%global
614 'PLAG_ModEulerian.F90')
616 pgrid => pregion%grid
617 pplag => pregion%plag
622 ncont = pregion%plagInput%nCont
626 cvmass => pplag%cvPlagMass
630 IF ( pplag%nPcls > 0 )
THEN
637 nvarsplot = pplag%nEv -ncont
639 IF ( nvarsplot /=
SIZE(ev,1) )
THEN
640 WRITE(*,*)
'nVarsPlot = ',nvars
641 WRITE(*,*)
'SIZE(ev,1) = ',
SIZE(ev,1)
642 CALL
errorstop(global,err_datadim_mismatch,__line__)
645 IF ( iec /=
SIZE(ev,2) )
THEN
646 WRITE(*,*)
'iec = ',iec
647 WRITE(*,*)
'SIZE(ev,2) = ',
SIZE(ev,2)
648 CALL
errorstop(global,err_datadim_mismatch,__line__)
658 DO ivar = 1, nvarsplot
659 ev(ivar,icg) = 0.0_rfreal
668 icg = pplag%aiv(aiv_plag_icells,ipcl)
670 diammicron = dv(dv_plag_diam,ipcl)*1.0e+06_rfreal
671 massl =
sum(cv(cvmass(:),ipcl))
672 sploadl = pplag%arv(arv_plag_spload,ipcl)
673 densl = dv(dv_plag_dens,ipcl)
675 voll = dv(dv_plag_volu,ipcl)
676 massfracl = densl*voll*sploadl
678 ev(ev_plag_diam3,icg) = ev(ev_plag_diam3,icg) +diammicron**3.0_rfreal
679 ev(ev_plag_diam4,icg) = ev(ev_plag_diam4,icg) +diammicron**4.0_rfreal
681 ev(ev_plag_numdens,icg) = ev(ev_plag_numdens,icg) +1.0_rfreal
683 ev(ev_plag_uvel,icg) = ev(ev_plag_uvel,icg) +dv(dv_plag_uvel,ipcl)
684 ev(ev_plag_vvel,icg) = ev(ev_plag_vvel,icg) +dv(dv_plag_vvel,ipcl)
685 ev(ev_plag_wvel,icg) = ev(ev_plag_wvel,icg) +dv(dv_plag_wvel,ipcl)
687 ev(ev_plag_temp,icg) = ev(ev_plag_temp,icg) +dv(dv_plag_temp,ipcl)
689 ev(ev_plag_mass,icg) = ev(ev_plag_mass,icg) +massfracl
707 nplagcell = ev(ev_plag_numdens,icg)
709 IF ( nplagcell > 0 )
THEN
710 nplagcellinv = 1.0/
REAL(nplagcell,kind=rfreal)
712 DO ivar = 1, ev_plag_numdens-1
713 ev(ivar,icg) = ev(ivar,icg) *nplagcellinv
716 DO ivar = ev_plag_numdens+1, ev_plag_temp
721 ev(ivar,icg) = ev(ivar,icg) *nplagcellinv
726 densmixt = pregion%mixt%cv(cv_mixt_dens,icg)
727 volmixt = pregion%grid%vol(icg)
728 ev(ev_plag_mass,icg) = ev(ev_plag_mass,icg)/ &
729 (ev(ev_plag_mass,icg) +densmixt *volmixt)
740 END SUBROUTINE plag_rflu_calceulerianfield
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
subroutine, public plag_calceulerianfield(pRegion)
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 ic
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
subroutine, public plag_destroyeulerianfield(pRegion, pPlag)
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 icell
**********************************************************************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
**********************************************************************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, public plag_initeulerianfield(pRegion, pPlag)
subroutine deregisterfunction(global)
subroutine, public plag_createeulerianfield(pRegion, pPlag)