Chombo + EB + MF
3.2
|
#include <EBPatchGodunov.H>
Classes | |
struct | access_t |
struct | pointerOffset_t |
struct | slop_logic_t |
struct | updateStencil_t |
Public Member Functions | |
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 EBPhysIBC * | getEBPhysIBC () 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... | |
virtual void | setTimeAndDt (const Real &a_time, const Real &a_dt) |
virtual void | setValidBox (const Box &a_validBox, const EBISBox &a_ebisBox, const IntVectSet &a_coarseFineIVS, const Real &a_time, const Real &a_dt) |
void | computeFlattening (EBCellFAB &a_flattening, const EBCellFAB &a_primState, const Box &a_box) |
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_doAggregated=false) |
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 | 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 in case you want to do something faster than go through constoprim 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 Interval | velocityInterval () const =0 |
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 void | computeEBIrregFlux (BaseIVFAB< Real > &a_ebIrregFlux, const EBCellFAB &a_primState, const EBCellFAB a_slopePrim[SpaceDim], const IntVectSet &a_irregIVS, const EBCellFAB &a_source)=0 |
virtual int | pressureIndex () const =0 |
virtual int | bulkModulusIndex () const =0 |
virtual | ~EBPatchGodunov () |
virtual void | setCoveredConsVals (EBCellFAB &a_consState)=0 |
virtual Real | getMaxWaveSpeed (const EBCellFAB &a_consState, const Box &a_box)=0 |
virtual void | floorConserved (EBCellFAB &a_consState, const Box &a_box)=0 |
virtual void | floorPrimitives (EBCellFAB &a_primState, const Box &a_box)=0 |
virtual void | floorConserved (BaseIVFAB< Real > &a_consState, const IntVectSet &a_ivs)=0 |
virtual void | floorPrimitives (BaseIVFAB< Real > &a_primState, const IntVectSet &a_ivs)=0 |
virtual void | getCoveredValuesPrim (Vector< Real > &a_covValues)=0 |
virtual void | getCoveredValuesCons (Vector< Real > &a_covValues)=0 |
virtual int | densityIndex () const =0 |
virtual int | numPrimitives () const =0 |
virtual int | numFluxes () const =0 |
virtual int | numSlopes () const =0 |
virtual int | numConserved () const =0 |
virtual Vector< string > | stateNames ()=0 |
virtual Vector< string > | primNames ()=0 |
virtual 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)=0 |
virtual void | riemann (EBFaceFAB &a_flux, const EBCellFAB &a_primLeft, const EBCellFAB &a_primRight, const int &a_dir, const Box &a_box)=0 |
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)=0 |
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 | consToPrim (EBCellFAB &a_primState, const EBCellFAB &a_conState, const Box &a_box, int a_logflag, bool a_verbose=false)=0 |
virtual void | expressions (HDF5HeaderData &a_holder) |
virtual void | consToPrim (BaseIVFAB< Real > &a_primState, const BaseIVFAB< Real > &a_conState, const IntVectSet &a_ivs)=0 |
virtual void | primToCons (EBCellFAB &a_primState, const EBCellFAB &a_conState, const Box &a_box)=0 |
virtual void | primToCons (BaseIVFAB< Real > &a_primState, const BaseIVFAB< Real > &a_conState, const IntVectSet &a_ivs)=0 |
virtual bool | usesFlattening () const =0 |
virtual bool | usesArtificialViscosity () const =0 |
virtual bool | usesFourthOrderSlopes () const =0 |
virtual Real | artificialViscosityCoefficient () const =0 |
virtual bool | isDefined () const |
EBCellFAB & | getPrimState () |
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]) |
Static Public Member Functions | |
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 | |
static IntVect | s_debugIV |
static int | s_whichLev |
Protected Member Functions | |
void | setSlopeStuff () |
Static Protected Attributes | |
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 |
EBPatchGodunov::EBPatchGodunov | ( | ) |
|
virtual |
Referenced by setTimeAndDt().
void EBPatchGodunov::incrementWithSource | ( | EBCellFAB & | a_primState, |
const EBCellFAB & | a_source, | ||
const Real & | a_scale, | ||
const Box & | a_box | ||
) |
non-virtual stuff
|
virtual |
|
virtual |
|
virtual |
void EBPatchGodunov::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 EBPhysIBC* EBPatchGodunov::getEBPhysIBC | ( | ) | const |
void EBPatchGodunov::setEBPhysIBC | ( | const EBPhysIBCFactory & | a_bc | ) |
void EBPatchGodunov::setSlopeParameters | ( | bool | a_fourthOrderSlopes, |
bool | a_flattening, | ||
bool | a_useLimiting | ||
) |
Set parameters for slope computations.
void EBPatchGodunov::applyLimiter | ( | EBCellFAB & | a_slopePrim, |
const EBCellFAB & | a_slopePrimLeft, | ||
const EBCellFAB & | a_slopePrimRigh, | ||
const int & | a_dir, | ||
const Box & | a_box | ||
) |
Given left and right one-sided undivided differences /a_dql,a_dqr/, apply van Leer limiter $vL$ defined in section to a_dq. Called by the default implementation of PatchPolytropic::slope.
|
virtual |
|
virtual |
|
virtual |
void EBPatchGodunov::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 EBPatchGodunov::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 EBPatchGodunov::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 EBPatchGodunov::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 |
Update the state using flux difference that ignores EB. Store fluxes used in this update. Store non-conservative divergence. Flux coming out of htis this should exist at cell face centers.
|
virtual |
|
virtual |
|
virtual |
Update the state at irregular VoFs and compute mass difference and the maximum wave speed over the entire box. Flux going into this should exist at VoF centroids.
|
virtual |
void EBPatchGodunov::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 EBPatchGodunov::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 EBPatchGodunov::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 |
|
virtual |
|
virtual |
void EBPatchGodunov::artificialViscosity | ( | bool | a_useArtificialVisc | ) |
void EBPatchGodunov::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 EBPatchGodunov::bilinearFunc | ( | const Real | a_WVal[2][2], |
const Real & | a_xd1, | ||
const Real & | a_xd2 | ||
) |
Real EBPatchGodunov::maxFunction | ( | const Real | a_WVal[2][2], |
const Real & | a_xd1, | ||
const Real & | a_xd2 | ||
) |
void EBPatchGodunov::define | ( | const ProblemDomain & | a_domain, |
const RealVect & | a_dx, | ||
bool | a_useAgg = false |
||
) |
Referenced by define().
|
inline |
deprecated interface
References define(), m_useAgg, and RealVect::Unit.
Reimplemented in EBPatchAdvect.
References bulkModulusIndex(), computeEBIrregFlux(), computeFlattening(), consUndividedDivergence(), densityIndex(), floorConserved(), floorPrimitives(), getCoveredValuesCons(), getCoveredValuesPrim(), getMaxWaveSpeed(), m_dt, m_time, nonconservativeDivergence(), normalPred(), numConserved(), numFluxes(), numPrimitives(), numSlopes(), pressureIndex(), primNames(), riemann(), setCoveredConsVals(), setValidBox(), slope(), stateNames(), updateCons(), updatePrim(), velocityInterval(), and ~EBPatchGodunov().
|
virtual |
needs coarse-fine IVS to know where to drop order for interpolation virtual in case you need to add anything to definition
Reimplemented in EBPatchAdvect.
Referenced by setTimeAndDt().
void EBPatchGodunov::computeFlattening | ( | EBCellFAB & | a_flattening, |
const EBCellFAB & | a_primState, | ||
const Box & | a_box | ||
) |
Referenced by setTimeAndDt().
|
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 in EBPatchAdvect.
Referenced by setTimeAndDt().
|
virtual |
needs to be virtual because of RZ
Referenced by setTimeAndDt().
|
virtual |
virtual in case you want to do something faster than go through constoprim
Reimplemented in EBPatchAdvect.
Referenced by setTimeAndDt().
|
virtual |
virtual because RZ changes this function
Referenced by setTimeAndDt().
|
pure virtual |
Returns the interval of component indices in the primitive variable EBCellFAB for the velocities. Only used for artificial visc and flattening
Implemented in EBPatchAdvect.
Referenced by setTimeAndDt().
|
virtual |
needs to be virtual because of RZ
Referenced by setTimeAndDt().
|
pure virtual |
Implemented in EBPatchAdvect.
Referenced by setTimeAndDt().
|
pure virtual |
Returns the component index for the pressure. Called only if flattening is used.
Implemented in EBPatchAdvect.
Referenced by setTimeAndDt().
|
pure virtual |
Returns the component index for the bulk modulus, used as a normalization to measure shock strength in flattening. Called only if flattening is used.
Implemented in EBPatchAdvect.
Referenced by setTimeAndDt().
|
pure virtual |
Implemented in EBPatchAdvect.
Referenced by setTimeAndDt().
|
pure virtual |
Implemented in EBPatchAdvect.
|
pure virtual |
Implemented in EBPatchAdvect.
Referenced by setTimeAndDt().
|
pure virtual |
Implemented in EBPatchAdvect.
Referenced by setTimeAndDt().
|
pure virtual |
Implemented in EBPatchAdvect.
|
pure virtual |
Implemented in EBPatchAdvect.
Implemented in EBPatchAdvect.
Referenced by setTimeAndDt().
Implemented in EBPatchAdvect.
Referenced by setTimeAndDt().
|
pure virtual |
Implemented in EBPatchAdvect.
Referenced by setTimeAndDt().
|
pure virtual |
Return number of components for primitive variables.
Implemented in EBPatchAdvect.
Referenced by setTimeAndDt().
|
pure virtual |
Returns number of components for flux variables.
Implemented in EBPatchAdvect.
Referenced by setTimeAndDt().
|
pure virtual |
Returns number of components for flux variables.
Implemented in EBPatchAdvect.
Referenced by setTimeAndDt().
|
pure virtual |
Returns number of components for conserved variables.
Implemented in EBPatchAdvect.
Referenced by setTimeAndDt().
|
pure virtual |
Return the names of the variables. A default implementation is provided that puts in generic names.
Implemented in EBPatchAdvect.
Referenced by setTimeAndDt().
|
pure virtual |
Return the names of the variables. A default implementation is provided that puts in generic names.
Implemented in EBPatchAdvect.
Referenced by setTimeAndDt().
|
pure virtual |
Implemented in EBPatchAdvect.
Referenced by setTimeAndDt().
|
pure virtual |
Given input left and right states, compute a suitably-upwinded flux (e.g. by solving a Riemann problem), as in
Implemented in EBPatchAdvect.
Referenced by setTimeAndDt().
|
pure virtual |
Given input left and right states, compute a suitably-upwinded flux (e.g. by solving a Riemann problem).
Implemented in EBPatchAdvect.
|
inlinevirtual |
rz func.
|
inlinevirtual |
rz func.
|
inlinevirtual |
rz func.
References consToPrim().
|
pure virtual |
Implemented in EBPatchAdvect.
Referenced by assembleFluxIrr(), and expressions().
|
inlinevirtual |
References artificialViscosityCoefficient(), consToPrim(), getCurComp(), getCurLevel(), getDoingAdvVel(), getDoingVel(), getMaxWaveSpeed(), getMaxWaveSpeedIV(), getVerbose(), isDefined(), primToCons(), setCurComp(), setCurLevel(), setDoingAdvVel(), setDoingVel(), setMaxWaveSpeed(), setMaxWaveSpeedIV(), setVerbose(), usesArtificialViscosity(), usesFlattening(), and usesFourthOrderSlopes().
|
pure virtual |
Implemented in EBPatchAdvect.
|
pure virtual |
Implemented in EBPatchAdvect.
Referenced by expressions().
|
pure virtual |
Implemented in EBPatchAdvect.
|
pure virtual |
Return true if the application is using flattening.
Implemented in EBPatchAdvect.
Referenced by expressions().
|
pure virtual |
Return true if the application is using artificial viscosity.
Implemented in EBPatchAdvect.
Referenced by expressions().
|
pure virtual |
Return true if you are using fourth-order slopes. Return false if you are using second-order slopes.
Implemented in EBPatchAdvect.
Referenced by expressions().
|
pure virtual |
Returns value of artificial viscosity. Called only if artificial viscosity is being used.
Implemented in EBPatchAdvect.
Referenced by expressions().
|
virtual |
Referenced by expressions().
|
static |
Referenced by expressions().
|
static |
Referenced by expressions().
|
static |
Referenced by expressions().
|
static |
Referenced by expressions().
|
static |
Referenced by expressions().
|
static |
Referenced by expressions().
|
static |
Referenced by expressions().
|
static |
Referenced by expressions().
|
static |
Referenced by expressions().
|
static |
Referenced by expressions().
|
static |
Referenced by expressions(), and setTimeAndDt().
|
static |
Referenced by expressions().
|
static |
Referenced by expressions().
|
static |
Referenced by expressions().
|
inline |
References m_primState.
References m_coveredFluxPlusG4.
References m_coveredFluxMinuG4.
References m_coveredFaceMinuG4.
References m_coveredFacePlusG4.
|
inlinestatic |
set to true if the source you will provide is in conservative variables. Default is false
References s_conservativeSource.
void EBPatchGodunov::fillUpdateStencil | ( | EBPatchGodunov::updateStencil_t & | a_sten, |
const VolIndex & | a_vof | ||
) |
void EBPatchGodunov::getArgBox | ( | Box | a_argBox[SpaceDim] | ) |
|
inline |
References m_entireBox, and SpaceDim.
|
protected |
|
static |
|
static |
|
staticprotected |
Referenced by useConservativeSource().
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
protected |
|
protected |
|
protected |
|
protected |
Referenced by define().
|
protected |
|
protected |
|
protected |
Referenced by EBPatchAdvect::floorPrimitives().
|
protected |
Referenced by setTimeAndDt(), and EBPatchAdvect::setTimeAndDt().
|
protected |
Referenced by setTimeAndDt(), and EBPatchAdvect::setTimeAndDt().
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Referenced by getCoveredFacePlus().
Referenced by getCoveredFaceMinu().
Referenced by getCoveredFluxPlus().
Referenced by getCoveredFluxMinu().
|
protected |
Referenced by EBPatchAdvect::getPrimState(), and getPrimState().
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Referenced by getEntireBox().
|
protected |