chombo-discharge
Public Member Functions | Protected Member Functions | List of all members
NonConservativeDivergenceStencil Class Reference

Stencil class for computing non-conservative divergences using neighborhood algorithms. More...

#include <CD_NonConservativeDivergenceStencil.H>

Inheritance diagram for NonConservativeDivergenceStencil:
Inheritance graph
[legend]
Collaboration diagram for NonConservativeDivergenceStencil:
Collaboration graph
[legend]

Public Member Functions

 NonConservativeDivergenceStencil ()=delete
 Disallowed weak constructor.
 
 NonConservativeDivergenceStencil (const DisjointBoxLayout &a_dbl, const EBISLayout &a_ebisl, const ProblemDomain &a_domain, const Real &a_dx, const int a_order, const int a_radius, const IrregStencil::StencilType a_type)
 Full constructor. Subsequently calls define. More...
 
virtual ~NonConservativeDivergenceStencil ()
 Destructor.
 
- Public Member Functions inherited from IrregStencil
 IrregStencil ()
 Weak constructor (does nothing)
 
 IrregStencil (const DisjointBoxLayout &a_dbl, const EBISLayout &a_ebisl, const ProblemDomain &a_domain, const Real &a_dx, const int a_order, const int a_radius, const IrregStencil::StencilType a_type)
 Full constructor. More...
 
virtual ~IrregStencil ()
 Destructor.
 
const BaseIVFAB< VoFStencil > & operator[] (const DataIndex &a_dit) const
 Get the stencils over a single box.
 
BaseIVFAB< VoFStencil > & operator[] (const DataIndex &a_dit)
 Get the stencils over a single box.
 
virtual void apply (EBCellFAB &a_dst, const EBCellFAB &a_src, const DataIndex &a_dit) const
 Apply the stencil.
 
virtual void apply (BaseIVFAB< Real > &a_dst, const EBCellFAB &a_src, const DataIndex &a_dit) const
 Apply the stencil.
 

Protected Member Functions

virtual void buildStencil (VoFStencil &a_sten, const VolIndex &a_vof, const DisjointBoxLayout &a_dbl, const ProblemDomain &a_domain, const EBISBox &a_ebisbox, const Box &a_box, const Real &a_dx, const IntVectSet &a_cfivs) override
 Build the interpolation stencils. More...
 
- Protected Member Functions inherited from IrregStencil
virtual void define (const DisjointBoxLayout &a_dbl, const EBISLayout &a_ebisl, const ProblemDomain &a_domain, const Real &a_dx, const int a_order, const int a_radius, const IrregStencil::StencilType a_type)
 Define function.
 

Additional Inherited Members

- Public Types inherited from IrregStencil
enum class  StencilType {
  NoType , Linear , TaylorExtrapolation , LeastSquares ,
  PiecewiseLinear
}
 Enum for identifying stencil – only meant for enhancing code visibility.
 
- Protected Attributes inherited from IrregStencil
LayoutData< RefCountedPtr< BaseIVFAB< VoFStencil > > > m_stencils
 Stencil.
 
LayoutData< VoFIterator > m_vofIter
 VoFIterators.
 
DisjointBoxLayout m_dbl
 Grids.
 
EBISLayout m_ebisl
 EBIS layout.
 
Real m_dx
 Level resolution.
 
int m_radius
 Stencil radius.
 
int m_order
 Stencil order.
 
IrregStencil::StencilType m_stencilType
 Stencil type.
 
ProblemDomain m_domain
 Domain.
 
- Static Protected Attributes inherited from IrregStencil
static constexpr int m_defaultStenComp = 0
 Default stencil component.
 
static constexpr int m_defaultNumSten = 1
 Default stencil component.
 

Detailed Description

Stencil class for computing non-conservative divergences using neighborhood algorithms.

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.

Constructor & Destructor Documentation

◆ NonConservativeDivergenceStencil()

NonConservativeDivergenceStencil::NonConservativeDivergenceStencil ( const DisjointBoxLayout &  a_dbl,
const EBISLayout &  a_ebisl,
const ProblemDomain &  a_domain,
const Real &  a_dx,
const int  a_order,
const int  a_radius,
const IrregStencil::StencilType  a_type 
)

Full constructor. Subsequently calls define.

Parameters
[in]a_dblGrids
[in]a_ebislEBIS layout
[in]a_domainProblem domain
[in]a_dxResolutions
[in]a_orderStencil order (dummy argument)
[in]a_radiusStencil radius
[in]a_typeStencil type (dummy argument)

Member Function Documentation

◆ buildStencil()

void NonConservativeDivergenceStencil::buildStencil ( VoFStencil &  a_sten,
const VolIndex &  a_vof,
const DisjointBoxLayout &  a_dbl,
const ProblemDomain &  a_domain,
const EBISBox &  a_ebisbox,
const Box &  a_box,
const Real &  a_dx,
const IntVectSet &  a_cfivs 
)
overrideprotectedvirtual

Build the interpolation stencils.

Parameters
[out]a_stenReturned stencil
[in]a_vofVolIndex where stencil is defined
[in]a_dblGrids
[in]a_domainProblem domain
[in]a_ebisboxEBISBox
[in]a_boxBox currently being evaluated
[in]a_dxGrid resolution
[in]a_cfivsCoarse-fine interface

This calls one of the other function for computing the stencil.

Implements IrregStencil.


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