11 #ifndef _LEVELMAPPEDCONSOPERATOR_H_ 12 #define _LEVELMAPPEDCONSOPERATOR_H_ 31 #include "NamespaceHeader.H" 63 const Copier *
const a_UExchangeCopierPtr,
64 const Copier *
const a_JUExchangeCopierPtr,
68 const int a_numInterpolatorCrFnGhost,
69 const int a_refineCoarse,
72 const int a_numStates,
73 const bool a_hasCoarser);
87 const Real& a_timeCoarseOld,
89 const Real& a_timeCoarseNew,
123 const Real& a_timeCoarseOld,
124 const Real& a_timeCoarseNew);
225 #include "NamespaceFooter.H" bool m_useArtificialDissipation
Definition: LevelMappedConsOperator.H:215
void useArtificialDissipation(bool a_useArtificialDissipation)
sets whether to use artificial dissipation
Interval m_velocityIntv
Definition: LevelMappedConsOperator.H:200
A class to facilitate interaction with physical boundary conditions.
Definition: ProblemDomain.H:141
Class to hold data on a mapped multiblock domain block boundary.
Definition: BlockRegister.H:27
A not-necessarily-disjoint collective of boxes.
Definition: BoxLayout.H:145
virtual Real getMaxSpeed()
return maximum speed from m_UPtr
virtual void setPatchIndex(const DataIndex &a_ind) const
void defineMultiblockMbrs()
Define members required for multiblock grids.
A strange but true thing to make copying from one boxlayoutdata to another fast.
Definition: Copier.H:152
Virtual base class encapsulating mapped-grid coordinate systems.
Definition: NewFourthOrderCoordSys.H:77
const Copier * m_JUExchangeCopierPtr
Definition: LevelMappedConsOperator.H:187
virtual void evalRHS(LevelData< FArrayBox > &a_LofU, LevelData< FArrayBox > &a_JU, LevelFluxRegister &a_finerFluxRegister, LevelFluxRegister &a_coarserFluxRegister, const LevelData< FArrayBox > &a_JUcoarseOld, const Real &a_timeCoarseOld, const LevelData< FArrayBox > &a_JUcoarseNew, const Real &a_timeCoarseNew, Real a_time, Real a_fluxweight)
Evaluate the operator at a given time.
Tuple< LayoutData< IntVectSet >, 2 *SpaceDim > m_facesToFill
Definition: LevelMappedConsOperator.H:222
Definition: MOLPhysics.H:37
void artificialDissipation(Real a_artificialDissipation)
sets coefficient of artificial dissipation
Interval m_vectorFluxIntv
Definition: LevelMappedConsOperator.H:203
virtual ~LevelMappedConsOperator()
Destructor.
virtual void fillGhostsRK4AndComputeU(LevelData< FArrayBox > &a_JU, const Real &a_time, int a_stage, const Real &a_timeCoarseOld, const Real &a_timeCoarseNew)
fill in ghost cells of a_U to RK4 intermediates
TimeInterpolatorRK4 & getTimeInterpolator()
Return time interpolator object within patch-fill object.
const int SpaceDim
Definition: SPACE.H:38
void operator=(const LevelMappedConsOperator &)
void defineMetricsIndices(const NewFourthOrderCoordSys *const a_coordSysPtr)
Define indices in to the metrics matrix.
void useSourceTerm(bool a_useSourceTerm)
sets whether to use source term
LevelSourceTerm * m_sourceTermPtr
Definition: LevelMappedConsOperator.H:212
LevelData< FArrayBox > * m_UPtr
Definition: LevelMappedConsOperator.H:178
A FArrayBox-like container for face-centered fluxes.
Definition: FluxBox.H:22
LevelGridMetrics * m_levelGridMetricsPtr
Definition: LevelMappedConsOperator.H:175
Structure for passing component ranges in code.
Definition: Interval.H:23
Definition: PatchMappedConsOperator.H:38
bool m_useSourceTerm
Definition: LevelMappedConsOperator.H:209
double Real
Definition: REAL.H:33
Grid metrics for a level.
Definition: LevelGridMetrics.H:223
LevelMappedConsOperator()
Default constructor.
A BoxLayout that has a concept of disjointedness.
Definition: DisjointBoxLayout.H:30
PatchMappedConsOperator * m_patchMappedConsOperatorPtr
Definition: LevelMappedConsOperator.H:190
Time interpolator class using 4th-order Runge-Kutta.
Definition: TimeInterpolatorRK4.H:24
virtual void addArtificialViscosity(LevelData< FArrayBox > &a_Unew, const LevelData< FArrayBox > &a_Uold, LevelFluxRegister &a_finerFluxRegister, LevelFluxRegister &a_coarserFluxRegister, Real a_oldTime, Real a_weight)
add artificial viscosity to a_Unew
Definition: LevelMappedConsOperator.H:42
LevelFluxRegister-A class to encapsulate a levels worth of flux registers.
Definition: LevelFluxRegister.H:29
virtual void updateFluxTotalsAndRegisters(FluxBox &a_Fface, LevelFluxRegister &a_finerFluxRegister, LevelFluxRegister &a_coarserFluxRegister, const DataIndex &a_dataIndex, Real a_weight)
update a_finerFluxRegister and a_coarserFluxRegister
Real m_artificialDissipation
Definition: LevelMappedConsOperator.H:218
Definition: DataIndex.H:114
void setSourceTerm(LevelSourceTerm *a_sourceTermPtr)
set source term object
Level Cons Operator - a class for evaluating the Laplacian.
Definition: LevelConsOperator.H:35
Definition: LevelSourceTerm.H:21
void defineUnitNormals(LevelData< FluxBox > &a_NLev)
Find unit normals for applying the Riemann problem on mapped grids.
BoxLayout m_grow1inDomainLayout
Definition: LevelMappedConsOperator.H:206
Tuple< IntVect, SpaceDim > m_metricTermComponents
Definition: LevelMappedConsOperator.H:196
const Copier * m_UExchangeCopierPtr
Definition: LevelMappedConsOperator.H:184
virtual void definePatch(const MOLPhysics *const a_molPhysics)
sets m_patchMappedConsOperator
virtual void define(LevelGridMetrics *const a_levelGridMetricsPtr, LevelData< FArrayBox > *const a_UPtr, const Copier *const a_UExchangeCopierPtr, const Copier *const a_JUExchangeCopierPtr, const DisjointBoxLayout *a_coarserGrids, const ProblemDomain &a_domain, const int a_numGhost, const int a_numInterpolatorCrFnGhost, const int a_refineCoarse, const Real a_dx, const MOLPhysics *const a_molPhysics, const int a_numStates, const bool a_hasCoarser)
Define the object so that time stepping can begin (actual constructor)
void setCommonFlux(LevelData< FluxBox > &a_flux, const BlockRegister &a_blockRegister) const
Sets single-valued fluxes at block boundaries.
LayoutData< FluxBox > m_unitNormalLay
Definition: LevelMappedConsOperator.H:181
virtual void defineFlattening()
sets m_flattening
TimeInterpolatorRK4 m_timeInterpolator
Definition: LevelMappedConsOperator.H:193