11 #ifndef _EBPATCHADVECT_H_ 12 #define _EBPATCHADVECT_H_ 16 #include "NamespaceHeader.H" 110 const int& a_faceDir,
121 const int& a_faceDir,
125 const int& a_numPrim);
134 const int& a_faceDir,
138 const int& a_numPrim);
154 const Real& a_scale);
166 bool& a_hasFacesLeft,
167 bool& a_hasFacesRigh,
172 const bool& a_verbose);
187 a_primState(vof, 0) =
Min(a_primState(vof, 0),
m_maxVal);
188 a_primState(vof, 0) =
Max(a_primState(vof, 0),
m_minVal);
204 a_primState(vof, 0) =
Min(a_primState(vof, 0),
m_maxVal);
205 a_primState(vof, 0) =
Max(a_primState(vof, 0),
m_minVal);
217 MayDay::Error(
"EBPatchAdvect::floorConserved::EBCellFAB:: unexpected case");
228 MayDay::Error(
"EBPatchAdvect::floorConserved::BaseIVFAB:: unexpected case");
253 bool a_verbose=
false);
433 bool a_doAgg =
false);
459 const Box& a_box)
const;
555 const Real& a_minVal)
611 const bool& a_useLimiting,
612 const Real& a_maxVal =-1.e99,
613 const Real& a_minVal = 1.e99,
614 const bool& a_setMaxMin =
false);
640 #include "NamespaceFooter.H" virtual bool usesFourthOrderSlopes() const
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)
const EBCellFAB * m_normalVelPtr
Definition: EBPatchAdvect.H:571
const EBFluxFAB * m_advectionVelPtr
Definition: EBPatchAdvect.H:570
EBISBox m_ebisBox
Definition: EBPatchGodunov.H:876
virtual void primToCons(EBCellFAB &a_primState, const EBCellFAB &a_conState, const Box &a_box)
Definition: EBPatchGodunovFactory.H:20
An irregular domain on an integer lattice.
Definition: IntVectSet.H:44
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)
#define CH_assert(cond)
Definition: CHArray.H:37
EBPatchAdvectFactory()
Definition: EBPatchAdvect.H:626
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 void floorPrimitives(EBCellFAB &a_primState, const Box &a_box)
floors if m_isMaxMinSet
Definition: EBPatchAdvect.H:176
const EBGraph & getEBGraph() const
define from scratch using irregular graph
virtual void setTimeAndDt(const Real &a_time, const Real &a_dt)
Definition: EBPatchAdvect.H:471
virtual int numPrimitives() const
Definition: EBPatchAdvect.H:39
virtual int numSlopes() const
Definition: EBPatchAdvect.H:65
EBPatchAdvect(const EBPatchAdvect &a_input)
Definition: EBPatchAdvect.H:583
virtual void consToPrim(EBCellFAB &a_primState, const EBCellFAB &a_conState, const Box &a_box, int a_logflag, bool a_verbose=false)
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 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)
bool m_useLimiting
Definition: EBPatchAdvect.H:618
Definition: EBPatchAdvect.H:594
RefCountedPtr< EBPhysIBCFactory > m_bcFactoryPtr
Definition: EBPatchAdvect.H:617
virtual bool usesArtificialViscosity() const
bool m_isVelSet
Definition: EBPatchAdvect.H:573
virtual Vector< string > primNames()
sets generic defaults
Definition: EBPatchAdvect.H:25
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 int numFluxes() const
Definition: EBPatchAdvect.H:48
Definition: EBFaceFAB.H:28
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 getCoveredValuesCons(Vector< Real > &a_covValues)
default noop
Definition: EBPatchAdvect.H:237
const int SpaceDim
Definition: SPACE.H:38
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 bool usesFlattening() const
virtual int densityIndex() const
Definition: EBPatchAdvect.H:523
Real getMaxWaveSpeed(const EBCellFAB &a_consState, const Box &a_box)
should not be called
Definition: EBPatchAdvect.H:489
virtual void setCoveredConsVals(EBCellFAB &a_consState)
default noop
Definition: EBPatchAdvect.H:241
Real m_minVal
Definition: EBPatchAdvect.H:576
Definition: EBPatchGodunov.H:31
virtual int numConserved() const
Definition: EBPatchAdvect.H:57
A EBFaceFAB-like container for edge-centered fluxes.
Definition: EBFluxFAB.H:25
Real artificialViscosityCoefficient() const
should not be called
Definition: EBPatchAdvect.H:548
void getFlux(EBFaceFAB &a_flux, const EBFaceFAB &a_prim, const int &a_dir, const Box &a_box)
should not be called
Definition: EBPatchAdvect.H:497
Real m_dt
Definition: EBPatchGodunov.H:878
Structure for passing component ranges in code.
Definition: Interval.H:23
virtual void computeEBIrregFlux(BaseIVFAB< Real > &a_ebIrregFlux, const EBCellFAB &a_primState, const EBCellFAB a_slopePrim[SpaceDim], const IntVectSet &a_irregIVS, const EBCellFAB &a_source)
Definition: EBCellFAB.H:29
virtual void setVelocities(const EBCellFAB &a_normalVel, const EBFluxFAB &a_advectionVel)
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)
double Real
Definition: REAL.H:33
virtual void riemann(EBFaceFAB &a_primState, const EBCellFAB &a_primLeft, const EBCellFAB &a_primRight, const int &a_dir, const Box &a_box)
virtual void getCoveredValuesPrim(Vector< Real > &a_covValues)
default noop
Definition: EBPatchAdvect.H:233
void useLimiting(bool a_limiting)
EBPatchAdvectFactory(const EBPatchAdvectFactory &a_input)
Definition: EBPatchAdvect.H:634
LoHiSide
Definition: LoHiSide.H:27
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 operator=(const EBPatchAdvectFactory &a_input)
Definition: EBPatchAdvect.H:630
static void Error(const char *const a_msg=m_nullString, int m_exitCode=CH_DEFAULT_ERROR_CODE)
Print out message to cerr and exit with the specified exit code.
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 Vector< string > stateNames()
sets generic defaults
bool m_isMaxMinSet
Definition: EBPatchAdvect.H:574
A Rectangular Domain on an Integer Lattice.
Definition: Box.H:465
A Real vector in SpaceDim-dimensional space.
Definition: RealVect.H:41
virtual void floorConserved(BaseIVFAB< Real > &a_consState, const IntVectSet &a_set)
floors if m_isMaxMinSet
Definition: EBPatchAdvect.H:223
Real m_maxVal
Definition: EBPatchAdvect.H:575
Definition: DataIndex.H:112
Definition: BaseIFFAB.H:34
Iterator for all vofs within an IntVectSet and an Ebgraph.
Definition: VoFIterator.H:27
int pressureIndex() const
Definition: EBPatchAdvect.H:535
void upwindSlope(EBCellFAB &a_slopeUpWi, const EBCellFAB &a_primState, const int &a_dir, const Box &a_box)
T Min(const T &a_a, const T &a_b)
Definition: Misc.H:26
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)
Real m_minVal
Definition: EBPatchAdvect.H:621
void operator=(const EBPatchAdvect &a_input)
Definition: EBPatchAdvect.H:579
Volume of Fluid Index.
Definition: VolIndex.H:31
T Max(const T &a_a, const T &a_b)
Definition: Misc.H:39
virtual void floorConserved(EBCellFAB &a_consState, const Box &a_box)
floors if m_isMaxMinSet
Definition: EBPatchAdvect.H:212
bool m_setMaxMin
Definition: EBPatchAdvect.H:619
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)
void interpolateFluxToCentroids(BaseIFFAB< Real > a_centroidFlux[SpaceDim], const EBFluxFAB &a_fluxInterpolant, const IntVectSet &a_irregIVS)
EBCellFAB m_primState
Definition: EBPatchGodunov.H:914
Real m_maxVal
Definition: EBPatchAdvect.H:620
virtual void floorPrimitives(BaseIVFAB< Real > &a_primState, const IntVectSet &a_set)
floors if m_isMaxMinSet
Definition: EBPatchAdvect.H:195
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)
Interval velocityInterval() const
Definition: EBPatchAdvect.H:509
void setMaxMin(const Real &a_maxVal, const Real &a_minVal)
Definition: EBPatchAdvect.H:554
int bulkModulusIndex() const
should not be called
Definition: EBPatchAdvect.H:541
Real m_time
Definition: EBPatchGodunov.H:877
EBCellFAB & getPrimState()
Definition: EBPatchAdvect.H:561