Mushy Layer  1.0
Public Member Functions | Protected Attributes | List of all members
LevelDomainFluxRegister Class Reference

Keep track of fluxes at domain edges on a level. More...

#include <LevelDomainFluxRegister.h>

Public Member Functions

void define (const ProblemDomain a_domain, const DisjointBoxLayout a_grids, const int a_refRat, const Real a_dx, LevelDomainFluxRegister *a_fineFR, LevelDomainFluxRegister *a_coarseFR, int a_numComp=1)
 Full define function.
 
void incrFlux (const LevelData< FluxBox > &a_flux, const Real a_scale, const int a_comp=0, const int a_localComp=0, const int a_numComps=1)
 Increment flux registers with flux.
 
void setToZero ()
 Get the flux on this level. More...
 
Real getFluxHierarchy (const int a_dir, const Side::LoHiSide a_side, const Real a_scale, const int a_localComp=0)
 Collate fluxes over entire AMR hierarchy. More...
 

Protected Attributes

ProblemDomain m_probDomain
 Problem domain on this level.
 
Vector< RefCountedPtr< LevelData< FArrayBox > > > m_fluxHi
 Fluxes at the bottom of the domain in each direction.
 
Vector< RefCountedPtr< LevelData< FArrayBox > > > m_fluxLo
 Fluxes at the top of the domain in each direction.
 
DisjointBoxLayout m_grids
 Grids on this level.
 
LevelDomainFluxRegisterm_fineFR
 Coarser domain flux registers (if they exist)
 
LevelDomainFluxRegisterm_coarseFR
 Finer domain flux registers (if they exist)
 
bool m_defined
 Whether object is defined.
 
int m_refRat
 Refinement ratio to finer level.
 
Real m_dx
 Grid spacing on this level.
 
int m_numComp
 Number of components to keep track of.
 

Detailed Description

Keep track of fluxes at domain edges on a level.

Member Function Documentation

◆ getFluxHierarchy()

Real LevelDomainFluxRegister::getFluxHierarchy ( const int  a_dir,
const Side::LoHiSide  a_side,
const Real  a_scale,
const int  a_localComp = 0 
)

Collate fluxes over entire AMR hierarchy.

Returns the flux through the specify domain boundary, by calculating the AMR sum of the fluxes over all levels. Probably more useful than getFluxLevel in most cases. In particular, useful for verifying that the numerical scheme is globally flux conservative.

◆ setToZero()

void LevelDomainFluxRegister::setToZero ( )

Get the flux on this level.

Somewhat meaningless function given how all levels above the base are not guaranteed to cover the entire domain edge. Just included for completeness.Set the flux registers to zero


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