#include <EBPatchAdvect.H>
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 | 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) |
virtual void | floorPrimitives (EBCellFAB &a_primState, const Box &a_box) |
floors if m_isMaxMinSet | |
virtual void | floorConserved (EBCellFAB &a_consState, const Box &a_box) |
floors if m_isMaxMinSet | |
virtual void | floorPrimitives (BaseIVFAB< Real > &a_primState, const IntVectSet &a_set) |
floors if m_isMaxMinSet | |
virtual void | floorConserved (BaseIVFAB< Real > &a_consState, const IntVectSet &a_set) |
floors if m_isMaxMinSet | |
virtual void | getCoveredValuesPrim (Vector< Real > &a_covValues) |
default noop | |
virtual void | getCoveredValuesCons (Vector< Real > &a_covValues) |
default noop | |
virtual void | setCoveredConsVals (EBCellFAB &a_consState) |
default noop | |
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) |
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) |
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) |
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 | |
virtual Vector< string > | primNames () |
sets generic defaults | |
void | useLimiting (bool a_limiting) |
Real | getMaxWaveSpeed (const EBCellFAB &a_consState, const Box &a_box) |
should not be called | |
void | getFlux (EBFaceFAB &a_flux, const EBFaceFAB &a_prim, const int &a_dir, const Box &a_box) |
should not be called | |
Interval | velocityInterval () const |
virtual int | densityIndex () const |
int | pressureIndex () const |
int | bulkModulusIndex () const |
should not be called | |
Real | artificialViscosityCoefficient () const |
should not be called | |
void | setMaxMin (const Real &a_maxVal, const Real &a_minVal) |
EBCellFAB & | getPrimState () |
Protected Attributes | |
const EBFluxFAB * | m_advectionVelPtr |
const EBCellFAB * | m_normalVelPtr |
bool | m_isVelSet |
bool | m_isMaxMinSet |
Real | m_maxVal |
Real | m_minVal |
Private Member Functions | |
void | operator= (const EBPatchAdvect &a_input) |
EBPatchAdvect (const EBPatchAdvect &a_input) |
EBPatchAdvect::EBPatchAdvect | ( | ) |
EBPatchAdvect::~EBPatchAdvect | ( | ) |
EBPatchAdvect::EBPatchAdvect | ( | const EBPatchAdvect & | a_input | ) | [inline, private] |
References MayDay::Error().
virtual int EBPatchAdvect::numPrimitives | ( | ) | const [inline, virtual] |
Return number of components for primitive variables.
Implements EBPatchGodunov.
Referenced by floorPrimitives().
virtual int EBPatchAdvect::numFluxes | ( | ) | const [inline, virtual] |
Returns number of components for flux variables.
Implements EBPatchGodunov.
virtual int EBPatchAdvect::numConserved | ( | ) | const [inline, virtual] |
Returns number of components for conserved variables.
Implements EBPatchGodunov.
virtual int EBPatchAdvect::numSlopes | ( | ) | const [inline, virtual] |
Returns number of components for flux variables.
Implements EBPatchGodunov.
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.
void EBPatchAdvect::interpolateFluxToCentroids | ( | BaseIFFAB< Real > | a_centroidFlux[SpaceDim], | |
const EBFluxFAB & | a_fluxInterpolant, | |||
const IntVectSet & | a_irregIVS | |||
) |
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 | |||
) |
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 | |||
) |
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 | |||
) |
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.
void EBPatchAdvect::upwindSlope | ( | EBCellFAB & | a_slopeUpWi, | |
const EBCellFAB & | a_primState, | |||
const int & | a_dir, | |||
const Box & | a_box | |||
) |
virtual void EBPatchAdvect::floorPrimitives | ( | EBCellFAB & | a_primState, | |
const Box & | a_box | |||
) | [inline, virtual] |
floors if m_isMaxMinSet
Implements EBPatchGodunov.
References EBISBox::getEBGraph(), EBISBox::getIrregIVS(), EBPatchGodunov::m_ebisBox, m_isMaxMinSet, m_maxVal, m_minVal, Max(), Min(), and numPrimitives().
virtual void EBPatchAdvect::floorPrimitives | ( | BaseIVFAB< Real > & | a_primState, | |
const IntVectSet & | a_set | |||
) | [inline, virtual] |
floors if m_isMaxMinSet
Implements EBPatchGodunov.
References EBISBox::getEBGraph(), EBPatchGodunov::m_ebisBox, m_isMaxMinSet, m_maxVal, m_minVal, Max(), Min(), and numPrimitives().
virtual void EBPatchAdvect::floorConserved | ( | BaseIVFAB< Real > & | a_consState, | |
const IntVectSet & | a_set | |||
) | [inline, virtual] |
virtual void EBPatchAdvect::setCoveredConsVals | ( | EBCellFAB & | a_consState | ) | [inline, virtual] |
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.
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.
virtual void EBPatchAdvect::consToPrim | ( | BaseIVFAB< Real > & | a_primState, | |
const EBCellFAB & | a_conState, | |||
const IntVectSet & | a_ivs | |||
) | [virtual] |
just a copy
virtual void EBPatchAdvect::primToCons | ( | EBCellFAB & | a_primState, | |
const EBCellFAB & | a_conState, | |||
const Box & | a_box | |||
) | [virtual] |
just a copy
Implements EBPatchGodunov.
virtual void EBPatchAdvect::primToCons | ( | BaseIVFAB< Real > & | a_primState, | |
const BaseIVFAB< Real > & | a_conState, | |||
const IntVectSet & | a_ivs | |||
) | [virtual] |
just a copy
Implements EBPatchGodunov.
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.
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.
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] |
sets eb flux to zero
Implements EBPatchGodunov.
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 | |||
) |
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] |
virtual bool EBPatchAdvect::usesFlattening | ( | ) | const [virtual] |
always false for now
Implements EBPatchGodunov.
virtual bool EBPatchAdvect::usesArtificialViscosity | ( | ) | const [virtual] |
always false for now
Implements EBPatchGodunov.
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 | |||
) | [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.
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] |
Reimplemented from EBPatchGodunov.
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.
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 |
virtual void EBPatchAdvect::setVelocities | ( | const EBCellFAB & | a_normalVel, | |
const EBFluxFAB & | a_advectionVel | |||
) | [virtual] |
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.
virtual void EBPatchAdvect::setTimeAndDt | ( | const Real & | a_time, | |
const Real & | a_dt | |||
) | [inline, virtual] |
References EBPatchGodunov::m_dt, and EBPatchGodunov::m_time.
virtual Vector<string> EBPatchAdvect::stateNames | ( | ) | [virtual] |
virtual Vector<string> EBPatchAdvect::primNames | ( | ) | [virtual] |
void EBPatchAdvect::useLimiting | ( | bool | a_limiting | ) |
Interval EBPatchAdvect::velocityInterval | ( | ) | const [inline, virtual] |
virtual int EBPatchAdvect::densityIndex | ( | ) | const [inline, virtual] |
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.
int EBPatchAdvect::pressureIndex | ( | ) | const [inline, virtual] |
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.
int EBPatchAdvect::bulkModulusIndex | ( | ) | const [inline, virtual] |
Real EBPatchAdvect::artificialViscosityCoefficient | ( | ) | const [inline, virtual] |
References m_isMaxMinSet, m_maxVal, and m_minVal.
EBCellFAB& EBPatchAdvect::getPrimState | ( | ) | [inline] |
void EBPatchAdvect::operator= | ( | const EBPatchAdvect & | a_input | ) | [inline, private] |
References MayDay::Error().
const EBFluxFAB* EBPatchAdvect::m_advectionVelPtr [protected] |
const EBCellFAB* EBPatchAdvect::m_normalVelPtr [protected] |
bool EBPatchAdvect::m_isVelSet [protected] |
bool EBPatchAdvect::m_isMaxMinSet [protected] |
Referenced by floorConserved(), floorPrimitives(), and setMaxMin().
Real EBPatchAdvect::m_maxVal [protected] |
Referenced by floorPrimitives(), and setMaxMin().
Real EBPatchAdvect::m_minVal [protected] |
Referenced by floorPrimitives(), and setMaxMin().