chombo-discharge
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | List of all members
EBNonConservativeDivergence Class Reference

Class for computing a non-conservative by smooshing a conservative divergence. More...

#include <CD_EBNonConservativeDivergence.H>

Public Member Functions

 EBNonConservativeDivergence () noexcept
 Default constructor. Must call the define function afterwards.
 
 EBNonConservativeDivergence (const EBNonConservativeDivergence &a_other)=delete
 Copy constructor. Not allowed.
 
 EBNonConservativeDivergence (const EBLevelGrid &a_eblg, const int a_radius) noexcept
 Defining constructor. This calls the define function.
 
virtual ~EBNonConservativeDivergence () noexcept
 Destructor. Does nothing.
 
virtual void define (const EBLevelGrid &a_eblg, const int a_radius) noexcept
 Define function. Puts object in usable state.
 
virtual void nonConservativeDivergence (LevelData< BaseIVFAB< Real > > &a_nonConsDivF, const LevelData< EBCellFAB > &a_kappaDivF) const noexcept
 Function for computing the non-conservative divergence.
 

Protected Attributes

bool m_isDefined
 Defined or not.
 
EBLevelGrid m_eblg
 Grids.
 
LayoutData< VoFIteratorm_vofIterator
 VoF iterator for iterating through the stencils.
 
LayoutData< BaseIVFAB< VoFStencil > > m_stencils
 Stencils.
 

Detailed Description

Class for computing a non-conservative by smooshing a conservative divergence.

This class will compute a stencil s(phi) = sum(kappa * phi)/sum(kappa) where the stencil points consist of cells that can be reached through a monotone path.

This is a per-level class without AMR functionality. On coarse-fine interfaces the user is responsible for filling the ghost cells and redistributing the mass correctly (see EBFluxRedistribution)

Constructor & Destructor Documentation

◆ EBNonConservativeDivergence()

EBNonConservativeDivergence::EBNonConservativeDivergence ( const EBLevelGrid a_eblg,
const int  a_radius 
)
noexcept

Defining constructor. This calls the define function.

Parameters
[in]a_eblgGrids
[in]a_radiusStencil radius

Member Function Documentation

◆ define()

void EBNonConservativeDivergence::define ( const EBLevelGrid a_eblg,
const int  a_radius 
)
virtualnoexcept

Define function. Puts object in usable state.

Parameters
[in]a_eblgGrids
[in]a_radiusStencil radius

◆ nonConservativeDivergence()

void EBNonConservativeDivergence::nonConservativeDivergence ( LevelData< BaseIVFAB< Real > > &  a_nonConsDivF,
const LevelData< EBCellFAB > &  a_kappaDivF 
) const
virtualnoexcept

Function for computing the non-conservative divergence.

Parameters
[out]a_nonConsDivFThe non-conservative divergence.
[in]a_kappaDivFThe conservative divergence, but not weighted by kappa.

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