67 CHARACTER(CHRLEN) :: &
68 RCSIdentString =
'$RCSfile: RFLU_ModExplicitMultiStage.F90,v $ $Revision: 1.19 $'
120 TYPE(t_region
),
POINTER :: pregion
127 INTEGER :: varinfogradcells(cv_mixt_dens:cv_mixt_pres), &
128 varinfogradfaces(cv_mixt_xvel:cv_mixt_temp)
130 TYPE(t_mixt),
POINTER :: pmixt
132 TYPE(t_patch),
POINTER :: ppatch
138 global => pregion%global
141 'RFLU_ModExplicitMultiStage.F90')
147 pmixt => pregion%mixt
148 pmixtinput => pregion%mixtInput
160 IF ( pmixtinput%spaceOrder > discr_order_1 )
THEN
163 varinfogradcells(cv_mixt_dens) = v_mixt_dens
164 varinfogradcells(cv_mixt_xvel) = v_mixt_xvel
165 varinfogradcells(cv_mixt_yvel) = v_mixt_yvel
166 varinfogradcells(cv_mixt_zvel) = v_mixt_zvel
167 varinfogradcells(cv_mixt_pres) = v_mixt_pres
170 grc_mixt_dens,grc_mixt_pres, &
171 varinfogradcells,pmixt%cv,pmixt%gradCell)
173 SELECT CASE ( pregion%mixtInput%reconst )
174 CASE ( reconst_none )
175 CASE ( reconst_weno_simple )
177 pregion%mixt%gradCell)
179 grc_mixt_dens,grc_mixt_pres, &
180 pregion%mixt%cv,pregion%mixt%cvInfo, &
181 pregion%mixt%gradCell)
182 CASE ( reconst_weno_xyz )
184 pregion%mixt%gradCell)
186 grc_mixt_dens,grc_mixt_pres, &
187 pregion%mixt%cv,pregion%mixt%cvInfo, &
188 pregion%mixt%gradCell)
189 CASE ( reconst_lim_barthjesp )
193 grc_mixt_dens,grc_mixt_pres, &
195 pregion%mixt%gradCell, &
198 pregion%mixt%gradCell,pregion%mixt%lim)
200 CASE ( reconst_lim_venkat )
204 grc_mixt_dens,grc_mixt_pres, &
206 pregion%mixt%gradCell, &
209 pregion%mixt%gradCell,pregion%mixt%lim)
212 CALL
errorstop(global,err_reached_default,__line__)
222 IF ( pmixtinput%ldiss(pregion%irkStep) /=0 )
THEN
230 IF ( (pmixtinput%flowModel == flow_navst) .AND. &
231 (pmixtinput%ldiss(pregion%irkStep) /=0) )
THEN
234 varinfogradfaces(cv_mixt_xvel) = v_mixt_xvel
235 varinfogradfaces(cv_mixt_yvel) = v_mixt_yvel
236 varinfogradfaces(cv_mixt_zvel) = v_mixt_zvel
237 varinfogradfaces(cv_mixt_temp) = v_mixt_temp
240 grf_mixt_xvel,grf_mixt_temp, &
242 pregion%mixt%gradFace)
244 IF ( pregion%grid%nFacesConstr > 0 )
THEN
246 grf_mixt_xvel,grf_mixt_temp, &
247 varinfogradfaces,pregion%mixt%cv, &
248 pregion%mixt%gradFace)
251 DO ipatch = 1,pregion%grid%nPatches
252 ppatch => pregion%patches(ipatch)
256 cv_mixt_temp,grbf_mixt_xvel, &
257 grbf_mixt_temp,pregion%mixt%cv, &
258 ppatch%mixt%gradFace)
259 IF ( ppatch%cReconst /= constr_none )
THEN
261 cv_mixt_temp,grbf_mixt_xvel, &
262 grbf_mixt_temp,varinfogradfaces, &
264 ppatch%mixt%gradFace)
269 IF ( pmixtinput%turbModel == turb_model_none )
THEN
275 CALL
errorstop(global,err_reached_default,__line__)
338 TYPE (t_region
),
POINTER :: pregion
346 TYPE(t_grid),
POINTER :: pgrid
347 TYPE(t_mixt),
POINTER :: pmixt
353 global => pregion%global
356 'RFLU_ModExplicitMultiStage.F90')
362 pgrid => pregion%grid
363 pmixt => pregion%mixt
369 DO icg = 1,pgrid%nCellsTot
370 pmixt%cvOld(cv_mixt_dens,icg) = pmixt%cv(cv_mixt_dens,icg)
371 pmixt%cvOld(cv_mixt_xmom,icg) = pmixt%cv(cv_mixt_xmom,icg)
372 pmixt%cvOld(cv_mixt_ymom,icg) = pmixt%cv(cv_mixt_ymom,icg)
373 pmixt%cvOld(cv_mixt_zmom,icg) = pmixt%cv(cv_mixt_zmom,icg)
374 pmixt%cvOld(cv_mixt_ener,icg) = pmixt%cv(cv_mixt_ener,icg)
420 TYPE (t_region
),
POINTER :: pregion
429 TYPE(t_grid),
POINTER :: pgrid
430 TYPE(t_mixt),
POINTER :: pmixt
437 global => pregion%global
440 'RFLU_ModExplicitMultiStage.F90')
446 pgrid => pregion%grid
447 pmixt => pregion%mixt
448 pmixtinput => pregion%mixtInput
454 IF ( pregion%irkStep == 1 )
THEN
455 DO icg = 1,pgrid%nCellsTot
456 pmixt%diss(cv_mixt_dens,icg) = 0.0_rfreal
457 pmixt%diss(cv_mixt_xmom,icg) = 0.0_rfreal
458 pmixt%diss(cv_mixt_ymom,icg) = 0.0_rfreal
459 pmixt%diss(cv_mixt_zmom,icg) = 0.0_rfreal
460 pmixt%diss(cv_mixt_ener,icg) = 0.0_rfreal
463 IF ( pmixtinput%ldiss(pregion%irkStep) /=0 )
THEN
464 term = 1.0_rfreal - pmixtinput%betrk(pregion%irkStep)
466 DO icg = 1,pgrid%nCellsTot
467 pmixt%diss(cv_mixt_dens,icg) =
term*pmixt%diss(cv_mixt_dens,icg)
468 pmixt%diss(cv_mixt_xmom,icg) =
term*pmixt%diss(cv_mixt_xmom,icg)
469 pmixt%diss(cv_mixt_ymom,icg) =
term*pmixt%diss(cv_mixt_ymom,icg)
470 pmixt%diss(cv_mixt_zmom,icg) =
term*pmixt%diss(cv_mixt_zmom,icg)
471 pmixt%diss(cv_mixt_ener,icg) =
term*pmixt%diss(cv_mixt_ener,icg)
519 TYPE (t_region
),
POINTER :: pregion
527 TYPE(t_grid),
POINTER :: pgrid
528 TYPE(t_mixt),
POINTER :: pmixt
534 global => pregion%global
537 'RFLU_ModExplicitMultiStage.F90')
543 pgrid => pregion%grid
544 pmixt => pregion%mixt
550 DO icg = 1,pgrid%nCellsTot
551 pmixt%rhs(cv_mixt_dens,icg) = -pmixt%diss(cv_mixt_dens,icg)
552 pmixt%rhs(cv_mixt_xmom,icg) = -pmixt%diss(cv_mixt_xmom,icg)
553 pmixt%rhs(cv_mixt_ymom,icg) = -pmixt%diss(cv_mixt_ymom,icg)
554 pmixt%rhs(cv_mixt_zmom,icg) = -pmixt%diss(cv_mixt_zmom,icg)
555 pmixt%rhs(cv_mixt_ener,icg) = -pmixt%diss(cv_mixt_ener,icg)
600 TYPE (t_region
),
POINTER :: pregion
609 TYPE(t_grid),
POINTER :: pgrid
610 TYPE(t_mixt),
POINTER :: pmixt
617 global => pregion%global
620 'RFLU_ModExplicitMultiStage.F90')
626 pgrid => pregion%grid
627 pmixt => pregion%mixt
628 pmixtinput => pregion%mixtInput
634 DO icg = 1,pgrid%nCells
635 term = pmixtinput%ark(pregion%irkStep)*pmixtinput%cfl*pregion%dt(icg)/pgrid%vol(icg)
637 pmixt%cv(cv_mixt_dens,icg) = pmixt%cvOld(cv_mixt_dens,icg) -
term*pmixt%rhs(cv_mixt_dens,icg)
638 pmixt%cv(cv_mixt_xmom,icg) = pmixt%cvOld(cv_mixt_xmom,icg) -
term*pmixt%rhs(cv_mixt_xmom,icg)
639 pmixt%cv(cv_mixt_ymom,icg) = pmixt%cvOld(cv_mixt_ymom,icg) -
term*pmixt%rhs(cv_mixt_ymom,icg)
640 pmixt%cv(cv_mixt_zmom,icg) = pmixt%cvOld(cv_mixt_zmom,icg) -
term*pmixt%rhs(cv_mixt_zmom,icg)
641 pmixt%cv(cv_mixt_ener,icg) = pmixt%cvOld(cv_mixt_ener,icg) -
term*pmixt%rhs(cv_mixt_ener,icg)
subroutine, public rflu_destroylimiter(pRegion, lim)
subroutine, public rflu_computegradfaceswrapper(pRegion, iBegVar, iEndVar, iBegGrad, iEndGrad, var, grad)
subroutine, public rflu_computelimitervenkat(pRegion, iBegVar, iEndVar, iBegGrad, iEndGrad, var, grad, lim)
subroutine, public rflu_computelimiterbarthjesp(pRegion, iBegVar, iEndVar, iBegGrad, iEndGrad, var, grad, lim)
subroutine, public rflu_createlimiter(pRegion, iBegGrad, iEndGrad, lim)
subroutine, public rflu_viscousfluxespatches(pRegion, tv, tvIndxVisc, tvIndxCond)
LOGICAL function rflu_decideneedbgradface(pRegion, pPatch)
subroutine, public rflu_computebfgradconstrwrapper(pRegion, pPatch, iBegVar, iEndVar, iBegGrad, iEndGrad, varInfo, var, grad)
subroutine rflu_computefluxinv(pRegion, fluxPart)
subroutine registerfunction(global, funName, fileName)
subroutine, public rflu_enforceheatflux(pRegion, tv, tvIndxCond)
subroutine, public rflu_ems_computeresidual(pRegion)
subroutine, public rflu_computegradfacesconstr(pRegion, iBegVar, iEndVar, iBegGrad, iEndGrad, varInfo, var, grad)
subroutine, public rflu_limitgradcells(pRegion, iBegGrad, iEndGrad, grad, lim)
subroutine, public rflu_limitgradcellssimple(pRegion, iBegVar, iEndVar, iBegGrad, iEndGrad, var, varInfo, grad)
subroutine, public rflu_computegradbfaceswrapper(pRegion, pPatch, iBegVar, iEndVar, iBegGrad, iEndGrad, var, grad)
subroutine, public rflu_ems_setcvold(pRegion)
subroutine, public rflu_convertcvcons2prim(pRegion, cvStateFuture)
subroutine, public rflu_ems_setdiss(pRegion)
subroutine, public rflu_convertcvprim2cons(pRegion, cvStateFuture)
subroutine, public rflu_wenogradcellswrapper(pRegion, iBegGrad, iEndGrad, grad)
subroutine, public rflu_ems_setrhs(pRegion)
subroutine, public rflu_ems_updateconservedvars(pRegion)
subroutine, public rflu_wenogradcellsxyzwrapper(pRegion, iBegGrad, iEndGrad, grad)
subroutine, public rflu_computegradcellswrapper(pRegion, iBegVar, iEndVar, iBegGrad, iEndGrad, varInfo, var, grad)
subroutine errorstop(global, errorCode, errorLine, addMessage)
subroutine deregisterfunction(global)
subroutine, public rflu_viscousfluxes(pRegion, tv, tvIndxVisc, tvIndxCond)