Chombo + EB  3.2
Public Member Functions | Protected Attributes | Private Member Functions | List of all members
EBPatchAdvect Class Reference

#include <EBPatchAdvect.H>

Inheritance diagram for EBPatchAdvect:
Inheritance graph
[legend]

Public Member Functions

 EBPatchAdvect ()
 
 ~EBPatchAdvect ()
 
virtual int numPrimitives () const
 
virtual int numFluxes () const
 
virtual int numConserved () const
 
virtual int numSlopes () const
 
void normalPred (EBCellFAB &a_primLo, EBCellFAB &a_primHi, const EBCellFAB &a_primState, const EBCellFAB &a_slopePrim, const Real &a_scale, const int &a_dir, const Box &a_box)
 
void transversePred (EBCellFAB &a_primLo, EBCellFAB &a_primHi, const EBCellFAB &a_primState, const EBCellFAB &a_slopePrim, const Real &a_scale, const int &a_dir, const Box &a_box)
 
void interpolateFluxToCentroids (BaseIFFAB< Real > a_centroidFlux[SpaceDim], const EBFluxFAB &a_fluxInterpolant, const IntVectSet &a_irregIVS)
 
void extrapToCoveredFaces (BaseIVFAB< Real > &a_extendedPrim, const EBFaceFAB &a_primFace, const EBCellFAB &a_primState, const Vector< VolIndex > &a_coveredFaces, const int &a_faceDir, const Side::LoHiSide &a_sd, const Box &a_box)
 
void pointExtrapToCovered2D (Vector< Real > &a_extrapVal, const EBFaceFAB &a_primFace, const EBCellFAB &a_primState, const int &a_faceDir, const VolIndex &a_vof, const RealVect &a_normal, const Side::LoHiSide &a_sd, const int &a_numPrim)
 
void pointExtrapToCovered3D (Vector< Real > &a_extrapVal, const EBFaceFAB &a_primFace, const EBCellFAB &a_primState, const int &a_faceDir, const VolIndex &a_vof, const RealVect &a_normal, const Side::LoHiSide &a_sd, const int &a_numPrim)
 
virtual void updatePrim (EBCellFAB &a_primMinu, EBCellFAB &a_primPlus, const EBFaceFAB &a_flux, const BaseIVFAB< Real > &a_coveredFluxMinu, const BaseIVFAB< Real > &a_coveredFluxPlus, const Vector< VolIndex > &a_coveredFaceMinu, const Vector< VolIndex > &a_coveredFacePlus, const int &a_dir, const Box &a_box, const Real &a_scale)
 
void upwindSlope (EBCellFAB &a_slopeUpWi, const EBCellFAB &a_primState, const int &a_dir, const Box &a_box)
 
void pointGetSlopesUpwind (Real &a_dql, Real &a_dqr, Real &a_dqc, bool &a_hasFacesLeft, bool &a_hasFacesRigh, const VolIndex &a_vof, const EBCellFAB &a_primState, const int &a_dir, const int &a_ivar, const bool &a_verbose)
 
virtual void floorPrimitives (EBCellFAB &a_primState, const Box &a_box)
 floors if m_isMaxMinSet More...
 
virtual void floorPrimitives (BaseIVFAB< Real > &a_primState, const IntVectSet &a_set)
 floors if m_isMaxMinSet More...
 
virtual void floorConserved (EBCellFAB &a_consState, const Box &a_box)
 floors if m_isMaxMinSet More...
 
virtual void floorConserved (BaseIVFAB< Real > &a_consState, const IntVectSet &a_set)
 floors if m_isMaxMinSet More...
 
virtual void getCoveredValuesPrim (Vector< Real > &a_covValues)
 default noop More...
 
virtual void getCoveredValuesCons (Vector< Real > &a_covValues)
 default noop More...
 
virtual void setCoveredConsVals (EBCellFAB &a_consState)
 default noop More...
 
virtual void consToPrim (EBCellFAB &a_primState, const EBCellFAB &a_conState, const Box &a_box, int a_logflag, bool a_verbose=false)
 
virtual void consToPrim (BaseIVFAB< Real > &a_primState, const BaseIVFAB< Real > &a_conState, const IntVectSet &a_ivs)
 
virtual void consToPrim (BaseIVFAB< Real > &a_primState, const EBCellFAB &a_conState, const IntVectSet &a_ivs)
 
virtual void primToCons (EBCellFAB &a_primState, const EBCellFAB &a_conState, const Box &a_box)
 
virtual void primToCons (BaseIVFAB< Real > &a_primState, const BaseIVFAB< Real > &a_conState, const IntVectSet &a_ivs)
 
virtual void riemann (EBFaceFAB &a_primState, const EBCellFAB &a_primLeft, const EBCellFAB &a_primRight, const int &a_dir, const Box &a_box)
 
virtual void riemann (BaseIVFAB< Real > &a_coveredFlux, const BaseIVFAB< Real > &a_extendedState, const EBCellFAB &a_primState, const Vector< VolIndex > &a_region, const int &a_dir, const Side::LoHiSide &a_sd, const Box &a_box)
 
virtual void computeEBIrregFlux (BaseIVFAB< Real > &a_ebIrregFlux, const EBCellFAB &a_primState, const EBCellFAB a_slopePrim[SpaceDim], const IntVectSet &a_irregIVS, const EBCellFAB &a_source)
 
void extrapolatePrim (EBFluxFAB &a_flux, EBCellFAB &a_primState, EBCellFAB a_slopePrim[SpaceDim], EBCellFAB a_slopeNLim[SpaceDim], Vector< BaseIVFAB< Real > * > &a_coveredFluxMinu, Vector< BaseIVFAB< Real > * > &a_coveredFluxPlus, const Vector< IntVectSet > &a_coveredSetsMinu, const Vector< IntVectSet > &a_coveredSetsPlus, const Vector< Vector< VolIndex > > &a_coveredFaceMinu, const Vector< Vector< VolIndex > > &a_coveredFacePlus, const EBCellFAB &a_flattening, const EBCellFAB &a_consState, const EBCellFAB &a_source, const Box &a_box, const DataIndex &a_dit, bool a_verbose)
 
void extrapolateBCG (EBFluxFAB &a_flux, EBCellFAB a_slopePrim[SpaceDim], EBCellFAB a_slopeNLim[SpaceDim], const EBCellFAB &a_flattening, const EBCellFAB &a_consState, const EBCellFAB &a_source, const Box &a_box, const DataIndex &a_dit, bool a_verbose)
 
void extrapolateBCG (EBCellFAB a_primMinu[SpaceDim], EBCellFAB a_primPlus[SpaceDim], EBCellFAB a_slopesPrim[SpaceDim], EBCellFAB a_slopesSeco[SpaceDim], const EBCellFAB &a_flattening, const EBCellFAB &a_consState, const EBCellFAB &a_source, const Box &a_box, const DataIndex &a_dit, bool a_verbose)
 
virtual void advectiveDerivative (EBCellFAB &a_udotDelRho, const EBFluxFAB &a_faceRho, const EBFluxFAB &a_faceVel, const Vector< BaseIVFAB< Real > *> &a_coveredRhoMinu, const Vector< BaseIVFAB< Real > *> &a_coveredRhoPlus, const Vector< BaseIVFAB< Real > *> &a_coveredVelMinu, const Vector< BaseIVFAB< Real > *> &a_coveredVelPlus, const Vector< Vector< VolIndex > > &a_coveredFaceMinu, const Vector< Vector< VolIndex > > &a_coveredFacePlus, const Box &a_box)
 
void advectiveDerivative (EBCellFAB &a_udotDelRho, const EBFluxFAB &a_faceRho, const EBFluxFAB &a_faceVel, const Box &a_box)
 
virtual bool usesFlattening () const
 
virtual bool usesArtificialViscosity () const
 
virtual void slope (EBCellFAB &a_slopePrim, EBCellFAB &a_slopeNLim, const EBCellFAB &a_primState, const EBCellFAB &a_flattening, const int &a_dir, const Box &a_box, bool a_doAgg=false)
 
virtual void doSecondOrderSlopes (EBCellFAB &a_delta2W, EBCellFAB &a_deltaWL, EBCellFAB &a_deltaWR, EBCellFAB &a_deltaWC, const EBCellFAB &a_primState, const int &a_dir, const Box &a_box)
 
virtual bool usesFourthOrderSlopes () const
 
void averageVelToCC (EBCellFAB &a_normalVel, const EBFluxFAB &a_advectionVel, const Vector< BaseIVFAB< Real > * > &a_coveredVeloLo, const Vector< BaseIVFAB< Real > * > &a_coveredVeloHi, const Vector< Vector< VolIndex > > &a_coveredFaceLo, const Vector< Vector< VolIndex > > &a_coveredFaceHi, const Box &a_box) const
 
virtual void setVelocities (const EBCellFAB &a_normalVel, const EBFluxFAB &a_advectionVel)
 
virtual void setValidBox (const Box &a_validBox, const EBISBox &a_ebisBox, const IntVectSet &a_coarseFineIVS, const Real &a_time, const Real &a_dt)
 
virtual void setTimeAndDt (const Real &a_time, const Real &a_dt)
 
virtual Vector< string > stateNames ()
 sets generic defaults More...
 
virtual Vector< string > primNames ()
 sets generic defaults More...
 
void useLimiting (bool a_limiting)
 
Real getMaxWaveSpeed (const EBCellFAB &a_consState, const Box &a_box)
 should not be called More...
 
void getFlux (EBFaceFAB &a_flux, const EBFaceFAB &a_prim, const int &a_dir, const Box &a_box)
 should not be called More...
 
Interval velocityInterval () const
 
virtual int densityIndex () const
 
int pressureIndex () const
 
int bulkModulusIndex () const
 should not be called More...
 
Real artificialViscosityCoefficient () const
 should not be called More...
 
void setMaxMin (const Real &a_maxVal, const Real &a_minVal)
 
EBCellFABgetPrimState ()
 
- Public Member Functions inherited from EBPatchGodunov
 EBPatchGodunov ()
 
void incrementWithSource (EBCellFAB &a_primState, const EBCellFAB &a_source, const Real &a_scale, const Box &a_box)
 non-virtual stuff More...
 
virtual void extrapToCoveredFaces (BaseIVFAB< Real > &a_extendedPrim, const EBCellFAB &a_primMinu, const EBCellFAB &a_primPlus, const EBCellFAB &a_primState, const Vector< VolIndex > &a_coveredFaces, const int &a_faceDir, const Side::LoHiSide &a_sd, const Box &a_box)
 
virtual void pointExtrapToCovered2D (Vector< Real > &a_extrapVal, const EBCellFAB &a_primMinu, const EBCellFAB &a_primPlus, const EBCellFAB &a_primState, const int &a_faceDir, const VolIndex &a_vof, const RealVect &a_normal, const Side::LoHiSide &a_sd, const int &a_numPrim)
 
virtual void pointExtrapToCovered3D (Vector< Real > &a_extrapVal, const EBCellFAB &a_primMinu, const EBCellFAB &a_primPlus, const EBCellFAB &a_primState, const int &a_faceDir, const VolIndex &a_vof, const RealVect &a_normal, const Side::LoHiSide &a_sd, const int &a_numPrim)
 
void computeCoveredFaces (Vector< VolIndex > &a_coveredFace, IntVectSet &a_coveredIVS, IntVectSet &a_irregIVS, const int &a_idir, const Side::LoHiSide &a_sd, const Box &a_region)
 
const EBPhysIBCgetEBPhysIBC () const
 
Real pointLimiter (const Real &a_deltaW1, const Real &a_deltaW2)
 
void setEBPhysIBC (const EBPhysIBCFactory &a_bc)
 
void setSlopeParameters (bool a_fourthOrderSlopes, bool a_flattening, bool a_useLimiting)
 Set parameters for slope computations. More...
 
void applyLimiter (EBCellFAB &a_slopePrim, const EBCellFAB &a_slopePrimLeft, const EBCellFAB &a_slopePrimRigh, const int &a_dir, const Box &a_box)
 
virtual void doSecondOrderSlopes (EBCellFAB &a_delta2W, EBCellFAB &a_deltaWL, EBCellFAB &a_deltaWR, EBCellFAB &a_deltaWC, const EBCellFAB &a_primState, const int &a_dir, const Box &a_box, bool a_doAggregated=false)
 
virtual void aggIrregSecondOrderSlopes (EBCellFAB &a_delta2W, EBCellFAB &a_deltaWL, EBCellFAB &a_deltaWR, EBCellFAB &a_deltaWC, const EBCellFAB &a_primState, const int &a_dir, const Box &a_box)
 
virtual void irregSecondOrderSlopes (EBCellFAB &a_delta2W, EBCellFAB &a_deltaWL, EBCellFAB &a_deltaWR, EBCellFAB &a_deltaWC, const EBCellFAB &a_primState, const int &a_dir, const Box &a_box)
 
void doFourthOrderSlopes (EBCellFAB &a_delta4W, EBCellFAB &a_deltaWC, const EBCellFAB &a_delta2W, const EBCellFAB &a_deltaWL, const EBCellFAB &a_deltaWR, const EBCellFAB &a_primState, const int &a_dir, const Box &a_box)
 
void pointGetSlopes (Real &a_dql, Real &a_dqr, Real &a_dqc, bool &a_hasFacesLeft, bool &a_hasFacesRigh, const VolIndex &a_vof, const EBCellFAB &a_primState, const int &a_dir, const int &a_ivar, const bool &a_verbose)
 
virtual void coveredExtrapSlopes (Real &a_dqc, const VolIndex &a_vof, const EBCellFAB &a_primState, const int &a_dir, const int &a_ivar)
 
void computeFluxes (EBFluxFAB &a_flux, BaseIVFAB< Real > a_coveredFluxLo[SpaceDim], BaseIVFAB< Real > a_coveredFluxHi[SpaceDim], Vector< VolIndex > a_coveredFaceLo[SpaceDim], Vector< VolIndex > a_coveredFaceHi[SpaceDim], EBCellFAB &a_primState, EBCellFAB a_slopesPrim[SpaceDim], EBCellFAB a_slopesSeco[SpaceDim], const EBCellFAB &a_flattening, const EBCellFAB &a_consState, const EBCellFAB &a_source, const Box &a_box, const DataIndex &a_dit, bool a_verbose)
 
virtual void extrapolatePrim2D (EBCellFAB a_primMinu[SpaceDim], EBCellFAB a_primPlus[SpaceDim], EBCellFAB &a_primState, EBCellFAB a_slopesPrim[SpaceDim], EBCellFAB a_slopesSeco[SpaceDim], const EBCellFAB &a_flattening, const EBCellFAB &a_consState, const EBCellFAB &a_source, const Box &a_box, const DataIndex &a_dit, bool a_verbose)
 
void extrapolatePrim3D (EBCellFAB a_primMinu[SpaceDim], EBCellFAB a_primPlus[SpaceDim], EBCellFAB &a_primState, EBCellFAB a_slopesPrim[SpaceDim], EBCellFAB a_slopesSeco[SpaceDim], const EBCellFAB &a_flattening, const EBCellFAB &a_consState, const EBCellFAB &a_source, const Box &a_box, const DataIndex &a_dit, bool a_verbose)
 
virtual void regularUpdate (EBCellFAB &a_consState, EBFluxFAB &a_flux, BaseIVFAB< Real > &a_ebIrregFlux, BaseIVFAB< Real > &a_nonConservativeDivergence, const EBCellFAB &a_flattening, const EBCellFAB &a_source, const Box &a_box, const IntVectSet &a_ivs, const DataIndex &a_dit, bool a_verbose)
 
virtual void regularDivergences (EBCellFAB &a_nonconsdiv, EBCellFAB &a_consState, EBFluxFAB &a_flux, BaseIVFAB< Real > &a_ebIrregFlux, BaseIVFAB< Real > &a_nonConservativeDivergence, const EBCellFAB &a_flattening, const EBCellFAB &a_source, const Box &a_box, const IntVectSet &a_ivs, const DataIndex &a_dit, bool a_verbose)
 
virtual void hybridDivergence (EBCellFAB &a_hybridDiv, EBCellFAB &a_consState, BaseIVFAB< Real > &a_massDiff, const BaseIFFAB< Real > a_centroidFlux[SpaceDim], const BaseIVFAB< Real > &a_ebIrregFlux, const BaseIVFAB< Real > &a_nonConservativeDivergence, const Box &a_box, const IntVectSet &a_ivs)
 
virtual void irregularUpdate (EBCellFAB &a_consState, Real &a_maxWaveSpeed, BaseIVFAB< Real > &a_massDiff, const BaseIFFAB< Real > a_centroidFlux[SpaceDim], const BaseIVFAB< Real > &a_ebIrregFlux, const BaseIVFAB< Real > &a_nonConservativeDivergence, const Box &a_box, const IntVectSet &a_ivs)
 
virtual void doNormalDerivativeExtr2D (EBCellFAB a_primMinu[SpaceDim], EBCellFAB a_primPlus[SpaceDim], EBFaceFAB a_fluxOne[SpaceDim], BaseIVFAB< Real > a_coveredFluxNormMinu[SpaceDim], BaseIVFAB< Real > a_coveredFluxNormPlus[SpaceDim], Vector< VolIndex > a_coveredFaceNormMinu[SpaceDim], Vector< VolIndex > a_coveredFaceNormPlus[SpaceDim], EBCellFAB a_slopesPrim[SpaceDim], EBCellFAB a_slopesSeco[SpaceDim], const EBCellFAB &a_flattening, const EBCellFAB &a_primState, const EBCellFAB &a_source, const DataIndex &a_dit, const Box &a_box)
 
void doNormalDerivativeExtr3D (EBCellFAB a_primMinu[SpaceDim], EBCellFAB a_primPlus[SpaceDim], EBFaceFAB a_fluxOne[SpaceDim], BaseIVFAB< Real > a_coveredFluxNormMinu[SpaceDim], BaseIVFAB< Real > a_coveredFluxNormPlus[SpaceDim], Vector< VolIndex > a_coveredFaceNormMinu[SpaceDim], Vector< VolIndex > a_coveredFaceNormPlus[SpaceDim], EBCellFAB a_slopesPrim[SpaceDim], EBCellFAB a_slopesSeco[SpaceDim], const EBCellFAB &a_flattening, const EBCellFAB &a_primState, const EBCellFAB &a_source, const DataIndex &a_dit, const Box &a_box)
 
virtual void finalExtrap2D (EBCellFAB a_primMinu[SpaceDim], EBCellFAB a_primPlus[SpaceDim], const BaseIVFAB< Real > a_coveredFluxNormMinu[SpaceDim], const BaseIVFAB< Real > a_coveredFluxNormPlus[SpaceDim], const Vector< VolIndex > a_coveredFaceNormMinu[SpaceDim], const Vector< VolIndex > a_coveredFaceNormPlus[SpaceDim], const EBFaceFAB a_fluxOne[SpaceDim], const EBCellFAB &a_primState, const EBCellFAB a_slopesPrim[SpaceDim], const EBCellFAB a_slopesSeco[SpaceDim], const Box &a_box)
 
void finalExtrap3D (EBCellFAB a_primMinu[SpaceDim], EBCellFAB a_primPlus[SpaceDim], const BaseIVFAB< Real > a_coveredFlux3DMinu[SpaceDim][SpaceDim], const BaseIVFAB< Real > a_coveredFlux3DPlus[SpaceDim][SpaceDim], const EBFaceFAB a_fluxTwoVec[SpaceDim][SpaceDim], const EBCellFAB &a_primState, const EBCellFAB a_slopesPrim[SpaceDim], const EBCellFAB a_slopesSeco[SpaceDim], const Box &a_box)
 
void do111coupling (EBFaceFAB a_fluxTwoVec[SpaceDim][SpaceDim], BaseIVFAB< Real > a_coveredFlux3DMinu[SpaceDim][SpaceDim], BaseIVFAB< Real > a_coveredFlux3DPlus[SpaceDim][SpaceDim], const EBCellFAB a_primMinu[SpaceDim], const EBCellFAB a_primPlus[SpaceDim], const BaseIVFAB< Real > a_coveredFluxNormMinu[SpaceDim], const BaseIVFAB< Real > a_coveredFluxNormPlus[SpaceDim], const Vector< VolIndex > a_coveredFaceNormMinu[SpaceDim], const Vector< VolIndex > a_coveredFaceNormPlus[SpaceDim], const EBFaceFAB a_fluxOne[SpaceDim], const EBCellFAB &a_primState, const EBCellFAB a_slopesPrim[SpaceDim], const EBCellFAB a_slopesSeco[SpaceDim], const DataIndex &a_dit, const Box &a_box)
 
virtual void interpolateFluxToCentroids (BaseIFFAB< Real > a_centroidFlux[SpaceDim], const BaseIFFAB< Real > *const a_fluxInterpolant[SpaceDim], const IntVectSet &a_irregIVS)
 
virtual void finalUpdate (EBCellFAB &a_consState, BaseIVFAB< Real > &a_massDiff, const BaseIVFAB< Real > &a_nonConsDivF, const BaseIVFAB< Real > &a_conservDivF, const IntVectSet &a_ivs)
 
virtual void getFaceDivergence (EBFluxFAB &a_openDivU, const EBCellFAB &a_primState, const EBCellFAB a_slopePrim[SpaceDim], const Box &a_box, const IntVectSet &a_ivsIrreg)
 
void artificialViscosity (bool a_useArtificialVisc)
 
void applyArtificialViscosity (EBFluxFAB &a_openFlux, BaseIVFAB< Real > a_coveredFluxMinu[SpaceDim], BaseIVFAB< Real > a_coveredFluxPlus[SpaceDim], const Vector< VolIndex > a_coveredFaceMinu[SpaceDim], const Vector< VolIndex > a_coveredFacePlus[SpaceDim], const EBCellFAB &a_consState, const EBFluxFAB &a_divVel, const Box &a_box, const IntVectSet &a_ivsIrreg)
 
Real bilinearFunc (const Real a_WVal[2][2], const Real &a_xd1, const Real &a_xd2)
 
Real maxFunction (const Real a_WVal[2][2], const Real &a_xd1, const Real &a_xd2)
 
void define (const ProblemDomain &a_domain, const RealVect &a_dx, bool a_useAgg=false)
 
void define (const ProblemDomain &a_domain, const Real &a_dx)
 deprecated interface More...
 
void computeFlattening (EBCellFAB &a_flattening, const EBCellFAB &a_primState, const Box &a_box)
 
virtual void nonconservativeDivergence (EBCellFAB &a_divF, const EBFluxFAB &a_flux, const BaseIVFAB< Real > a_coveredFluxMinu[SpaceDim], const BaseIVFAB< Real > a_coveredFluxPlus[SpaceDim], const Vector< VolIndex > a_coveredFaceMinu[SpaceDim], const Vector< VolIndex > a_coveredFacePlus[SpaceDim], const Box &a_box)
 needs to be virtual because of RZ More...
 
virtual void updateCons (EBCellFAB &a_consState, const EBFaceFAB &a_flux, const BaseIVFAB< Real > &a_coveredFluxMinu, const BaseIVFAB< Real > &a_coveredFluxPlus, const Vector< VolIndex > &a_coveredFaceMinu, const Vector< VolIndex > &a_coveredFacePlus, const int &a_dir, const Box &a_box, const Real &a_scale)
 virtual because RZ changes this function More...
 
virtual void consUndividedDivergence (BaseIVFAB< Real > &a_divF, const BaseIFFAB< Real > a_centroidFlux[SpaceDim], const BaseIVFAB< Real > &a_ebIrregFlux, const IntVectSet &a_ivs)
 needs to be virtual because of RZ More...
 
virtual ~EBPatchGodunov ()
 
virtual void setSource (EBCellFAB &a_source, const EBCellFAB &a_consState, const Box &a_box)
 rz func. More...
 
virtual void assembleFluxReg (EBFaceFAB &a_fluxRegFlux, const EBFaceFAB &a_godunovFlux, const int &a_idir, const Box &a_cellBox)
 rz func. More...
 
virtual void assembleFluxIrr (BaseIFFAB< Real > &a_fluxRegFlux, const BaseIFFAB< Real > &a_godunovFlux, const int &a_idir, const Box &a_cellBox, const IntVectSet &a_set)
 rz func. More...
 
virtual void expressions (HDF5HeaderData &a_holder)
 
virtual bool isDefined () const
 
EBCellFABgetPrimState ()
 
BaseIVFAB< Real > * getCoveredFluxPlus ()
 
BaseIVFAB< Real > * getCoveredFluxMinu ()
 
Vector< VolIndex > * getCoveredFaceMinu ()
 
Vector< VolIndex > * getCoveredFacePlus ()
 
void fillUpdateStencil (EBPatchGodunov::updateStencil_t &a_sten, const VolIndex &a_vof)
 
void cacheEBCF (Vector< Vector< Real > > &a_cache, const EBCellFAB &a_input)
 
void uncacheEBCF (EBCellFAB &a_output, const Vector< Vector< Real > > &a_cache)
 
void getArgBox (Box a_argBox[SpaceDim])
 
void getEntireBox (Box a_entireBox[SpaceDim])
 

Protected Attributes

const EBFluxFABm_advectionVelPtr
 
const EBCellFABm_normalVelPtr
 
bool m_isVelSet
 
bool m_isMaxMinSet
 
Real m_maxVal
 
Real m_minVal
 
- Protected Attributes inherited from EBPatchGodunov
Box m_modBoxOpen [SpaceDim]
 
ProblemDomain m_domain
 
RealVect m_dx
 
Real m_dxScale
 
bool m_useAgg
 
BaseIFFAB< FaceStencilm_interpStencils [SpaceDim]
 
Box m_validBox
 
EBISBox m_ebisBox
 
Real m_time
 
Real m_dt
 
bool m_isDefined
 
bool m_isBCSet
 
bool m_isBoxSet
 
bool m_isSlopeSet
 
bool m_isArtViscSet
 
bool m_useFourthOrderSlopes
 
bool m_useFlattening
 
bool m_useLimiting
 
bool m_useArtificialVisc
 
Vector< VolIndexm_irregVoFs
 
Vector< updateStencil_tm_updateStencil
 
EBPhysIBCm_bc
 
Box m_validBoxG4
 
IntVectSet m_coveredSetsPlusG4 [SpaceDim]
 
IntVectSet m_coveredSetsMinuG4 [SpaceDim]
 
Vector< VolIndexm_coveredFacePlusG4 [SpaceDim]
 
Vector< VolIndexm_coveredFaceMinuG4 [SpaceDim]
 
BaseIVFAB< Realm_extendStatePlusG4 [SpaceDim]
 
BaseIVFAB< Realm_extendStateMinuG4 [SpaceDim]
 
BaseIVFAB< Realm_coveredFluxPlusG4 [SpaceDim]
 
BaseIVFAB< Realm_coveredFluxMinuG4 [SpaceDim]
 
BaseIVFAB< Realm_extendStatePlus3D [SpaceDim][SpaceDim]
 
BaseIVFAB< Realm_extendStateMinu3D [SpaceDim][SpaceDim]
 
BaseIVFAB< Realm_coveredFluxPlus3D [SpaceDim][SpaceDim]
 
BaseIVFAB< Realm_coveredFluxMinu3D [SpaceDim][SpaceDim]
 
EBCellFAB m_primPlus [SpaceDim]
 
EBCellFAB m_primMinu [SpaceDim]
 
EBCellFAB m_primState
 
EBCellFAB m_primMinuTemp
 
EBCellFAB m_primPlusTemp
 
EBFluxFAB m_primGdnv
 
EBFaceFAB m_fluxOne [SpaceDim]
 
EBFaceFAB m_fluxTwo [SpaceDim][SpaceDim]
 
BaseIVFAB< Realm_coveredFluxNormMinu [SpaceDim]
 
BaseIVFAB< Realm_coveredFluxNormPlus [SpaceDim]
 
BaseIVFAB< Realm_extendStateNormMinu [SpaceDim]
 
BaseIVFAB< Realm_extendStateNormPlus [SpaceDim]
 
RefCountedPtr< AggStencil< EBCellFAB, EBCellFAB > > m_slopStenLo [SpaceDim]
 
RefCountedPtr< AggStencil< EBCellFAB, EBCellFAB > > m_slopStenHi [SpaceDim]
 
Box m_entireBox [SpaceDim]
 
Vector< slop_logic_tm_slopVec [SpaceDim]
 

Private Member Functions

void operator= (const EBPatchAdvect &a_input)
 
 EBPatchAdvect (const EBPatchAdvect &a_input)
 

Additional Inherited Members

- Static Public Member Functions inherited from EBPatchGodunov
static void setVerbose (bool a_verbose)
 
static void setCurLevel (int a_curLevel)
 
static void setCurComp (int a_curComp)
 
static void setDoingVel (int a_yesorno)
 
static void setDoingAdvVel (int a_yesorno)
 
static int getDoingAdvVel ()
 
static int getDoingVel ()
 
static int getCurLevel ()
 
static int getCurComp ()
 
static bool getVerbose ()
 
static Real getMaxWaveSpeed ()
 
static void setMaxWaveSpeed (Real a_maxWaveSpeedIV)
 
static IntVect getMaxWaveSpeedIV ()
 
static void setMaxWaveSpeedIV (const IntVect &a_maxWaveSpeedIV)
 
static void useConservativeSource (bool a_conservativeSource)
 
- Static Public Attributes inherited from EBPatchGodunov
static IntVect s_debugIV
 
static int s_whichLev
 
- Protected Member Functions inherited from EBPatchGodunov
void setSlopeStuff ()
 
- Static Protected Attributes inherited from EBPatchGodunov
static bool s_conservativeSource
 
static int s_curLevel
 
static int s_curComp
 
static int s_doingVel
 
static int s_doingAdvVel
 
static bool s_verbose
 
static Real s_maxWaveSpeed
 
static IntVect s_maxWaveSpeedIV
 

Detailed Description

An EBPatchGodunov for passive advection with an input velocity of a particular function value.

Constructor & Destructor Documentation

◆ EBPatchAdvect() [1/2]

EBPatchAdvect::EBPatchAdvect ( )

◆ ~EBPatchAdvect()

EBPatchAdvect::~EBPatchAdvect ( )

◆ EBPatchAdvect() [2/2]

EBPatchAdvect::EBPatchAdvect ( const EBPatchAdvect a_input)
inlineprivate

References MayDay::Error().

Member Function Documentation

◆ numPrimitives()

virtual int EBPatchAdvect::numPrimitives ( ) const
inlinevirtual

Return number of components for primitive variables.

Implements EBPatchGodunov.

Referenced by floorPrimitives().

◆ numFluxes()

virtual int EBPatchAdvect::numFluxes ( ) const
inlinevirtual

Returns number of components for flux variables.

Implements EBPatchGodunov.

◆ numConserved()

virtual int EBPatchAdvect::numConserved ( ) const
inlinevirtual

Returns number of components for conserved variables.

Implements EBPatchGodunov.

◆ numSlopes()

virtual int EBPatchAdvect::numSlopes ( ) const
inlinevirtual

◆ normalPred()

void EBPatchAdvect::normalPred ( EBCellFAB a_primLo,
EBCellFAB a_primHi,
const EBCellFAB a_primState,
const EBCellFAB a_slopePrim,
const Real a_scale,
const int &  a_dir,
const Box a_box 
)
virtual

Implements EBPatchGodunov.

Referenced by numSlopes().

◆ transversePred()

void EBPatchAdvect::transversePred ( EBCellFAB a_primLo,
EBCellFAB a_primHi,
const EBCellFAB a_primState,
const EBCellFAB a_slopePrim,
const Real a_scale,
const int &  a_dir,
const Box a_box 
)

Referenced by numSlopes().

◆ interpolateFluxToCentroids()

void EBPatchAdvect::interpolateFluxToCentroids ( BaseIFFAB< Real a_centroidFlux[SpaceDim],
const EBFluxFAB a_fluxInterpolant,
const IntVectSet a_irregIVS 
)

Referenced by numSlopes().

◆ extrapToCoveredFaces()

void EBPatchAdvect::extrapToCoveredFaces ( BaseIVFAB< Real > &  a_extendedPrim,
const EBFaceFAB a_primFace,
const EBCellFAB a_primState,
const Vector< VolIndex > &  a_coveredFaces,
const int &  a_faceDir,
const Side::LoHiSide a_sd,
const Box a_box 
)

Referenced by numSlopes().

◆ pointExtrapToCovered2D()

void EBPatchAdvect::pointExtrapToCovered2D ( Vector< Real > &  a_extrapVal,
const EBFaceFAB a_primFace,
const EBCellFAB a_primState,
const int &  a_faceDir,
const VolIndex a_vof,
const RealVect a_normal,
const Side::LoHiSide a_sd,
const int &  a_numPrim 
)

Referenced by numSlopes().

◆ pointExtrapToCovered3D()

void EBPatchAdvect::pointExtrapToCovered3D ( Vector< Real > &  a_extrapVal,
const EBFaceFAB a_primFace,
const EBCellFAB a_primState,
const int &  a_faceDir,
const VolIndex a_vof,
const RealVect a_normal,
const Side::LoHiSide a_sd,
const int &  a_numPrim 
)

Referenced by numSlopes().

◆ updatePrim()

virtual void EBPatchAdvect::updatePrim ( EBCellFAB a_primMinu,
EBCellFAB a_primPlus,
const EBFaceFAB a_flux,
const BaseIVFAB< Real > &  a_coveredFluxMinu,
const BaseIVFAB< Real > &  a_coveredFluxPlus,
const Vector< VolIndex > &  a_coveredFaceMinu,
const Vector< VolIndex > &  a_coveredFacePlus,
const int &  a_dir,
const Box a_box,
const Real a_scale 
)
virtual

default does -= u_idir d cons/ dx_idir. assumes fluxes are really prims.

Reimplemented from EBPatchGodunov.

Referenced by numSlopes().

◆ upwindSlope()

void EBPatchAdvect::upwindSlope ( EBCellFAB a_slopeUpWi,
const EBCellFAB a_primState,
const int &  a_dir,
const Box a_box 
)

Referenced by numSlopes().

◆ pointGetSlopesUpwind()

void EBPatchAdvect::pointGetSlopesUpwind ( Real a_dql,
Real a_dqr,
Real a_dqc,
bool &  a_hasFacesLeft,
bool &  a_hasFacesRigh,
const VolIndex a_vof,
const EBCellFAB a_primState,
const int &  a_dir,
const int &  a_ivar,
const bool &  a_verbose 
)

Referenced by numSlopes().

◆ floorPrimitives() [1/2]

virtual void EBPatchAdvect::floorPrimitives ( EBCellFAB a_primState,
const Box a_box 
)
inlinevirtual

◆ floorPrimitives() [2/2]

virtual void EBPatchAdvect::floorPrimitives ( BaseIVFAB< Real > &  a_primState,
const IntVectSet a_set 
)
inlinevirtual

◆ floorConserved() [1/2]

virtual void EBPatchAdvect::floorConserved ( EBCellFAB a_consState,
const Box a_box 
)
inlinevirtual

floors if m_isMaxMinSet

Implements EBPatchGodunov.

References MayDay::Error(), and m_isMaxMinSet.

◆ floorConserved() [2/2]

virtual void EBPatchAdvect::floorConserved ( BaseIVFAB< Real > &  a_consState,
const IntVectSet a_set 
)
inlinevirtual

floors if m_isMaxMinSet

Implements EBPatchGodunov.

References MayDay::Error(), and m_isMaxMinSet.

◆ getCoveredValuesPrim()

virtual void EBPatchAdvect::getCoveredValuesPrim ( Vector< Real > &  a_covValues)
inlinevirtual

default noop

Implements EBPatchGodunov.

◆ getCoveredValuesCons()

virtual void EBPatchAdvect::getCoveredValuesCons ( Vector< Real > &  a_covValues)
inlinevirtual

default noop

Implements EBPatchGodunov.

◆ setCoveredConsVals()

virtual void EBPatchAdvect::setCoveredConsVals ( EBCellFAB a_consState)
inlinevirtual

◆ consToPrim() [1/3]

virtual void EBPatchAdvect::consToPrim ( EBCellFAB a_primState,
const EBCellFAB a_conState,
const Box a_box,
int  a_logflag,
bool  a_verbose = false 
)
virtual

just a copy as default

Implements EBPatchGodunov.

Referenced by setCoveredConsVals().

◆ consToPrim() [2/3]

virtual void EBPatchAdvect::consToPrim ( BaseIVFAB< Real > &  a_primState,
const BaseIVFAB< Real > &  a_conState,
const IntVectSet a_ivs 
)
virtual

just a copy as default

Implements EBPatchGodunov.

◆ consToPrim() [3/3]

virtual void EBPatchAdvect::consToPrim ( BaseIVFAB< Real > &  a_primState,
const EBCellFAB a_conState,
const IntVectSet a_ivs 
)
virtual

just a copy

◆ primToCons() [1/2]

virtual void EBPatchAdvect::primToCons ( EBCellFAB a_primState,
const EBCellFAB a_conState,
const Box a_box 
)
virtual

just a copy

Implements EBPatchGodunov.

Referenced by setCoveredConsVals().

◆ primToCons() [2/2]

virtual void EBPatchAdvect::primToCons ( BaseIVFAB< Real > &  a_primState,
const BaseIVFAB< Real > &  a_conState,
const IntVectSet a_ivs 
)
virtual

just a copy

Implements EBPatchGodunov.

◆ riemann() [1/2]

virtual void EBPatchAdvect::riemann ( EBFaceFAB a_primState,
const EBCellFAB a_primLeft,
const EBCellFAB a_primRight,
const int &  a_dir,
const Box a_box 
)
virtual

sends back primitive state (NOT FLUX) using upwinding

Implements EBPatchGodunov.

Referenced by setCoveredConsVals().

◆ riemann() [2/2]

virtual void EBPatchAdvect::riemann ( BaseIVFAB< Real > &  a_coveredFlux,
const BaseIVFAB< Real > &  a_extendedState,
const EBCellFAB a_primState,
const Vector< VolIndex > &  a_region,
const int &  a_dir,
const Side::LoHiSide a_sd,
const Box a_box 
)
virtual

sends back primitive state (NOT FLUX) using upwinding

Implements EBPatchGodunov.

◆ computeEBIrregFlux()

virtual void EBPatchAdvect::computeEBIrregFlux ( BaseIVFAB< Real > &  a_ebIrregFlux,
const EBCellFAB a_primState,
const EBCellFAB  a_slopePrim[SpaceDim],
const IntVectSet a_irregIVS,
const EBCellFAB a_source 
)
virtual

This used to set the flux to zero. Now, in most (non-multifluid) cases, it is not called at all. This now extrapolates to the eb which is the wrong thing to do for advection with a fixed boundary (where the flux should just be zero)

Implements EBPatchGodunov.

Referenced by setCoveredConsVals().

◆ extrapolatePrim()

void EBPatchAdvect::extrapolatePrim ( EBFluxFAB a_flux,
EBCellFAB a_primState,
EBCellFAB  a_slopePrim[SpaceDim],
EBCellFAB  a_slopeNLim[SpaceDim],
Vector< BaseIVFAB< Real > * > &  a_coveredFluxMinu,
Vector< BaseIVFAB< Real > * > &  a_coveredFluxPlus,
const Vector< IntVectSet > &  a_coveredSetsMinu,
const Vector< IntVectSet > &  a_coveredSetsPlus,
const Vector< Vector< VolIndex > > &  a_coveredFaceMinu,
const Vector< Vector< VolIndex > > &  a_coveredFacePlus,
const EBCellFAB a_flattening,
const EBCellFAB a_consState,
const EBCellFAB a_source,
const Box a_box,
const DataIndex a_dit,
bool  a_verbose 
)

Referenced by setCoveredConsVals().

◆ extrapolateBCG() [1/2]

void EBPatchAdvect::extrapolateBCG ( EBFluxFAB a_flux,
EBCellFAB  a_slopePrim[SpaceDim],
EBCellFAB  a_slopeNLim[SpaceDim],
const EBCellFAB a_flattening,
const EBCellFAB a_consState,
const EBCellFAB a_source,
const Box a_box,
const DataIndex a_dit,
bool  a_verbose 
)

Referenced by setCoveredConsVals().

◆ extrapolateBCG() [2/2]

void EBPatchAdvect::extrapolateBCG ( EBCellFAB  a_primMinu[SpaceDim],
EBCellFAB  a_primPlus[SpaceDim],
EBCellFAB  a_slopesPrim[SpaceDim],
EBCellFAB  a_slopesSeco[SpaceDim],
const EBCellFAB a_flattening,
const EBCellFAB a_consState,
const EBCellFAB a_source,
const Box a_box,
const DataIndex a_dit,
bool  a_verbose 
)

◆ advectiveDerivative() [1/2]

virtual void EBPatchAdvect::advectiveDerivative ( EBCellFAB a_udotDelRho,
const EBFluxFAB a_faceRho,
const EBFluxFAB a_faceVel,
const Vector< BaseIVFAB< Real > *> &  a_coveredRhoMinu,
const Vector< BaseIVFAB< Real > *> &  a_coveredRhoPlus,
const Vector< BaseIVFAB< Real > *> &  a_coveredVelMinu,
const Vector< BaseIVFAB< Real > *> &  a_coveredVelPlus,
const Vector< Vector< VolIndex > > &  a_coveredFaceMinu,
const Vector< Vector< VolIndex > > &  a_coveredFacePlus,
const Box a_box 
)
virtual

Referenced by setCoveredConsVals().

◆ advectiveDerivative() [2/2]

void EBPatchAdvect::advectiveDerivative ( EBCellFAB a_udotDelRho,
const EBFluxFAB a_faceRho,
const EBFluxFAB a_faceVel,
const Box a_box 
)

◆ usesFlattening()

virtual bool EBPatchAdvect::usesFlattening ( ) const
virtual

always false for now

Implements EBPatchGodunov.

Referenced by setCoveredConsVals().

◆ usesArtificialViscosity()

virtual bool EBPatchAdvect::usesArtificialViscosity ( ) const
virtual

always false for now

Implements EBPatchGodunov.

Referenced by setCoveredConsVals().

◆ slope()

virtual void EBPatchAdvect::slope ( EBCellFAB a_slopePrim,
EBCellFAB a_slopeNLim,
const EBCellFAB a_primState,
const EBCellFAB a_flattening,
const int &  a_dir,
const Box a_box,
bool  a_doAggregated = false 
)
virtual

Compute the limited slope /a_dq/ of the primitive variables /a_q/ for the components in the interval /a_interval/, Calls user-supplied EBPatchGodunov::applyLimiter.

Reimplemented from EBPatchGodunov.

Referenced by setCoveredConsVals().

◆ doSecondOrderSlopes()

virtual void EBPatchAdvect::doSecondOrderSlopes ( EBCellFAB a_delta2W,
EBCellFAB a_deltaWL,
EBCellFAB a_deltaWR,
EBCellFAB a_deltaWC,
const EBCellFAB a_primState,
const int &  a_dir,
const Box a_box 
)
virtual

Referenced by setCoveredConsVals().

◆ usesFourthOrderSlopes()

virtual bool EBPatchAdvect::usesFourthOrderSlopes ( ) const
virtual

Return true if you are using fourth-order slopes. Return false if you are using second-order slopes.

Implements EBPatchGodunov.

Referenced by setCoveredConsVals().

◆ averageVelToCC()

void EBPatchAdvect::averageVelToCC ( EBCellFAB a_normalVel,
const EBFluxFAB a_advectionVel,
const Vector< BaseIVFAB< Real > * > &  a_coveredVeloLo,
const Vector< BaseIVFAB< Real > * > &  a_coveredVeloHi,
const Vector< Vector< VolIndex > > &  a_coveredFaceLo,
const Vector< Vector< VolIndex > > &  a_coveredFaceHi,
const Box a_box 
) const

Referenced by setCoveredConsVals().

◆ setVelocities()

virtual void EBPatchAdvect::setVelocities ( const EBCellFAB a_normalVel,
const EBFluxFAB a_advectionVel 
)
virtual

Referenced by setCoveredConsVals().

◆ setValidBox()

virtual void EBPatchAdvect::setValidBox ( const Box a_validBox,
const EBISBox a_ebisBox,
const IntVectSet a_coarseFineIVS,
const Real a_time,
const Real a_dt 
)
virtual

needs coarse-fine IVS to know where to drop order for interpolation virtual in case you need to add anything to definition

Reimplemented from EBPatchGodunov.

Referenced by setCoveredConsVals().

◆ setTimeAndDt()

virtual void EBPatchAdvect::setTimeAndDt ( const Real a_time,
const Real a_dt 
)
inlinevirtual

◆ stateNames()

virtual Vector<string> EBPatchAdvect::stateNames ( )
virtual

sets generic defaults

Implements EBPatchGodunov.

Referenced by setTimeAndDt().

◆ primNames()

virtual Vector<string> EBPatchAdvect::primNames ( )
virtual

sets generic defaults

Implements EBPatchGodunov.

Referenced by setTimeAndDt().

◆ useLimiting()

void EBPatchAdvect::useLimiting ( bool  a_limiting)

Referenced by setTimeAndDt().

◆ getMaxWaveSpeed()

Real EBPatchAdvect::getMaxWaveSpeed ( const EBCellFAB a_consState,
const Box a_box 
)
inlinevirtual

should not be called

Implements EBPatchGodunov.

References MayDay::Error().

◆ getFlux()

void EBPatchAdvect::getFlux ( EBFaceFAB a_flux,
const EBFaceFAB a_prim,
const int &  a_dir,
const Box a_box 
)
inline

should not be called

References MayDay::Error().

◆ velocityInterval()

Interval EBPatchAdvect::velocityInterval ( ) const
inlinevirtual

should not be called

Implements EBPatchGodunov.

References MayDay::Error().

◆ densityIndex()

virtual int EBPatchAdvect::densityIndex ( ) const
inlinevirtual

only used as a comparison with ivar for flattening at covered face extrapolation don't want flattening-type stuff to pure advected vars also used for tagging cells.

Implements EBPatchGodunov.

◆ pressureIndex()

int EBPatchAdvect::pressureIndex ( ) const
inlinevirtual

only used as a comparison with ivar for flattening at covered face extrapolation don't want flattening-type stuff to pure advected vars

Implements EBPatchGodunov.

◆ bulkModulusIndex()

int EBPatchAdvect::bulkModulusIndex ( ) const
inlinevirtual

should not be called

Implements EBPatchGodunov.

References MayDay::Error().

◆ artificialViscosityCoefficient()

Real EBPatchAdvect::artificialViscosityCoefficient ( ) const
inlinevirtual

should not be called

Implements EBPatchGodunov.

References MayDay::Error().

◆ setMaxMin()

void EBPatchAdvect::setMaxMin ( const Real a_maxVal,
const Real a_minVal 
)
inline

References m_isMaxMinSet, m_maxVal, and m_minVal.

◆ getPrimState()

EBCellFAB& EBPatchAdvect::getPrimState ( )
inline

◆ operator=()

void EBPatchAdvect::operator= ( const EBPatchAdvect a_input)
inlineprivate

References MayDay::Error().

Member Data Documentation

◆ m_advectionVelPtr

const EBFluxFAB* EBPatchAdvect::m_advectionVelPtr
protected

◆ m_normalVelPtr

const EBCellFAB* EBPatchAdvect::m_normalVelPtr
protected

◆ m_isVelSet

bool EBPatchAdvect::m_isVelSet
protected

◆ m_isMaxMinSet

bool EBPatchAdvect::m_isMaxMinSet
protected

◆ m_maxVal

Real EBPatchAdvect::m_maxVal
protected

Referenced by floorPrimitives(), and setMaxMin().

◆ m_minVal

Real EBPatchAdvect::m_minVal
protected

Referenced by floorPrimitives(), and setMaxMin().


The documentation for this class was generated from the following file: