Mushy Layer
1.0
|
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. | |
LevelDomainFluxRegister * | m_fineFR |
Coarser domain flux registers (if they exist) | |
LevelDomainFluxRegister * | m_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. | |
Keep track of fluxes at domain edges on a level.
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.
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