LevelMappedConsOperator Class Reference

#include <LevelMappedConsOperator.H>

Inheritance diagram for LevelMappedConsOperator:

Inheritance graph
[legend]

List of all members.


Detailed Description

This class defines a flux divergence operator for hyperbolic conservation laws on a single refinement level of a set of structured grids.

Public Member Functions

 LevelMappedConsOperator ()
 Default constructor.
 LevelMappedConsOperator (PatchMappedConsOperator *a_operator)
 Constructs a Level operator with the given PatchMappedConsOperator instance.
virtual ~LevelMappedConsOperator ()
 Destructor.
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 defineMetricsIndices (const NewFourthOrderCoordSys *const a_coordSysPtr)
 Define indices in to the metrics matrix.
void defineUnitNormals (LevelData< FluxBox > &a_NLev)
 Find unit normals for applying the Riemann problem on mapped grids.
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 $(-div(F))$ at a given time.
void useSourceTerm (bool a_useSourceTerm)
 sets whether to use source term
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
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
TimeInterpolatorRK4getTimeInterpolator ()
 Return time interpolator object within patch-fill object.
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
void setSourceTerm (LevelSourceTerm *a_sourceTermPtr)
 set source term object
void useArtificialDissipation (bool a_useArtificialDissipation)
 sets whether to use artificial dissipation
void artificialDissipation (Real a_artificialDissipation)
 sets coefficient of artificial dissipation

Protected Member Functions

virtual void defineFlattening ()
 sets m_flattening
virtual void definePatch (const MOLPhysics *const a_molPhysics)
 sets m_patchMappedConsOperator
virtual void setPatchIndex (const DataIndex &a_ind) const
void defineMultiblockMbrs ()
 Define members required for multiblock grids.
void setCommonFlux (LevelData< FluxBox > &a_flux, const BlockRegister &a_blockRegister) const
 Sets single-valued fluxes at block boundaries.
virtual Real getMaxSpeed ()
 return maximum speed from m_UPtr

Protected Attributes

LevelGridMetricsm_levelGridMetricsPtr
LevelData< FArrayBox > * m_UPtr
LayoutData< FluxBoxm_unitNormalLay
const Copierm_UExchangeCopierPtr
const Copierm_JUExchangeCopierPtr
PatchMappedConsOperatorm_patchMappedConsOperatorPtr
TimeInterpolatorRK4 m_timeInterpolator
Tuple< IntVect, SpaceDimm_metricTermComponents
Interval m_velocityIntv
Interval m_vectorFluxIntv
BoxLayout m_grow1inDomainLayout
bool m_useSourceTerm
LevelSourceTermm_sourceTermPtr
bool m_useArtificialDissipation
Real m_artificialDissipation
Tuple< LayoutData< IntVectSet >
, 2 *SpaceDim
m_facesToFill

Private Member Functions

void operator= (const LevelMappedConsOperator &)
 LevelMappedConsOperator (const LevelMappedConsOperator &)

Constructor & Destructor Documentation

LevelMappedConsOperator::LevelMappedConsOperator (  ) 

Default constructor.

LevelMappedConsOperator::LevelMappedConsOperator ( PatchMappedConsOperator a_operator  )  [explicit]

Constructs a Level operator with the given PatchMappedConsOperator instance.

virtual LevelMappedConsOperator::~LevelMappedConsOperator (  )  [virtual]

Destructor.

LevelMappedConsOperator::LevelMappedConsOperator ( const LevelMappedConsOperator  )  [private]


Member Function Documentation

virtual void LevelMappedConsOperator::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 
) [virtual]

Define the object so that time stepping can begin (actual constructor).

void LevelMappedConsOperator::defineMetricsIndices ( const NewFourthOrderCoordSys *const   a_coordSysPtr  ) 

Define indices in to the metrics matrix.

void LevelMappedConsOperator::defineUnitNormals ( LevelData< FluxBox > &  a_NLev  ) 

Find unit normals for applying the Riemann problem on mapped grids.

virtual void LevelMappedConsOperator::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 
) [virtual]

Evaluate the operator $(-div(F))$ at a given time.

Reimplemented from LevelConsOperator.

void LevelMappedConsOperator::useSourceTerm ( bool  a_useSourceTerm  ) 

sets whether to use source term

virtual void LevelMappedConsOperator::addArtificialViscosity ( LevelData< FArrayBox > &  a_Unew,
const LevelData< FArrayBox > &  a_Uold,
LevelFluxRegister a_finerFluxRegister,
LevelFluxRegister a_coarserFluxRegister,
Real  a_oldTime,
Real  a_weight 
) [virtual]

add artificial viscosity to a_Unew

Reimplemented from LevelConsOperator.

virtual void LevelMappedConsOperator::updateFluxTotalsAndRegisters ( FluxBox a_Fface,
LevelFluxRegister a_finerFluxRegister,
LevelFluxRegister a_coarserFluxRegister,
const DataIndex a_dataIndex,
Real  a_weight 
) [virtual]

update a_finerFluxRegister and a_coarserFluxRegister

Reimplemented from LevelConsOperator.

TimeInterpolatorRK4& LevelMappedConsOperator::getTimeInterpolator (  ) 

Return time interpolator object within patch-fill object.

Reimplemented from LevelConsOperator.

virtual void LevelMappedConsOperator::fillGhostsRK4AndComputeU ( LevelData< FArrayBox > &  a_JU,
const Real a_time,
int  a_stage,
const Real a_timeCoarseOld,
const Real a_timeCoarseNew 
) [virtual]

fill in ghost cells of a_U to RK4 intermediates

void LevelMappedConsOperator::setSourceTerm ( LevelSourceTerm a_sourceTermPtr  ) 

set source term object

void LevelMappedConsOperator::useArtificialDissipation ( bool  a_useArtificialDissipation  ) 

sets whether to use artificial dissipation

void LevelMappedConsOperator::artificialDissipation ( Real  a_artificialDissipation  ) 

sets coefficient of artificial dissipation

virtual void LevelMappedConsOperator::defineFlattening (  )  [protected, virtual]

sets m_flattening

Reimplemented from LevelConsOperator.

virtual void LevelMappedConsOperator::definePatch ( const MOLPhysics *const   a_molPhysics  )  [protected, virtual]

sets m_patchMappedConsOperator

Reimplemented from LevelConsOperator.

virtual void LevelMappedConsOperator::setPatchIndex ( const DataIndex a_ind  )  const [protected, virtual]

Reimplemented from LevelConsOperator.

void LevelMappedConsOperator::defineMultiblockMbrs (  )  [protected]

Define members required for multiblock grids.

void LevelMappedConsOperator::setCommonFlux ( LevelData< FluxBox > &  a_flux,
const BlockRegister a_blockRegister 
) const [protected]

Sets single-valued fluxes at block boundaries.

virtual Real LevelMappedConsOperator::getMaxSpeed (  )  [protected, virtual]

return maximum speed from m_UPtr

void LevelMappedConsOperator::operator= ( const LevelMappedConsOperator  )  [private]


Member Data Documentation


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

Generated on Wed Mar 29 03:27:08 2017 for Chombo + EB + MF by  doxygen 1.5.5