EBPatchAdvect Class Reference

#include <EBPatchAdvect.H>

Inheritance diagram for EBPatchAdvect:

Inheritance graph
[legend]
Collaboration diagram for EBPatchAdvect:

Collaboration graph
[legend]

List of all members.


Detailed Description

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

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)
EBCellFABgetPrimState ()

Protected Attributes

const EBFluxFABm_advectionVelPtr
const EBCellFABm_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)

Constructor & Destructor Documentation

EBPatchAdvect::EBPatchAdvect (  ) 

EBPatchAdvect::~EBPatchAdvect (  ) 

EBPatchAdvect::EBPatchAdvect ( const EBPatchAdvect a_input  )  [inline, private]

References MayDay::Error().


Member Function Documentation

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]

virtual void EBPatchAdvect::floorConserved ( EBCellFAB a_consState,
const Box a_box 
) [inline, virtual]

floors if m_isMaxMinSet

Implements EBPatchGodunov.

References MayDay::Error(), and m_isMaxMinSet.

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

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

floors if m_isMaxMinSet

Implements EBPatchGodunov.

References MayDay::Error(), and m_isMaxMinSet.

virtual void EBPatchAdvect::getCoveredValuesPrim ( Vector< Real > &  a_covValues  )  [inline, virtual]

default noop

Implements EBPatchGodunov.

virtual void EBPatchAdvect::getCoveredValuesCons ( Vector< Real > &  a_covValues  )  [inline, virtual]

default noop

Implements EBPatchGodunov.

virtual void EBPatchAdvect::setCoveredConsVals ( EBCellFAB a_consState  )  [inline, virtual]

default noop

Implements EBPatchGodunov.

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]

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

sets generic defaults

Implements EBPatchGodunov.

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

sets generic defaults

Implements EBPatchGodunov.

void EBPatchAdvect::useLimiting ( bool  a_limiting  ) 

Real EBPatchAdvect::getMaxWaveSpeed ( const EBCellFAB a_consState,
const Box a_box 
) [inline, virtual]

should not be called

Implements EBPatchGodunov.

References MayDay::Error().

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().

Interval EBPatchAdvect::velocityInterval (  )  const [inline, virtual]

should not be called

Implements EBPatchGodunov.

References MayDay::Error().

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]

should not be called

Implements EBPatchGodunov.

References MayDay::Error().

Real EBPatchAdvect::artificialViscosityCoefficient (  )  const [inline, virtual]

should not be called

Implements EBPatchGodunov.

References MayDay::Error().

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

References m_isMaxMinSet, m_maxVal, and m_minVal.

EBCellFAB& EBPatchAdvect::getPrimState (  )  [inline]

Reimplemented from EBPatchGodunov.

References EBPatchGodunov::m_primState.

void EBPatchAdvect::operator= ( const EBPatchAdvect a_input  )  [inline, private]

References MayDay::Error().


Member Data Documentation

bool EBPatchAdvect::m_isVelSet [protected]

bool EBPatchAdvect::m_isMaxMinSet [protected]

Referenced by floorPrimitives(), and setMaxMin().

Referenced by floorPrimitives(), and setMaxMin().


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

Generated on Tue Apr 14 14:23:25 2009 for Chombo + EB by  doxygen 1.5.5