chombo-discharge
Static Public Member Functions | Static Protected Member Functions | Static Protected Attributes | List of all members
LinearStencil Class Reference

Class which computes a bi/tri-linear stencil in cut-cells. This class makes appropriate modifications if one of the cells don't exist, and even if there are multivalued cells present. More...

#include <CD_LinearStencil.H>

Static Public Member Functions

static bool getLinearInterpStencil (VoFStencil &a_stencil, const RealVect &a_pos, const VolIndex &a_vof, const ProblemDomain &a_domain, const EBISBox &a_ebisbox)
 Get a bi(tri)linear interpolation stencil in 2D(3D) More...
 

Static Protected Member Functions

static bool computeInterpStencil1D (VoFStencil &a_stencil, const RealVect &a_pos, const VolIndex &a_vof, const ProblemDomain &a_domain, const EBISBox &a_ebisbox, const int a_interpDir)
 Compute a linear interpolation stencil. More...
 
static bool computeInterpStencil2D (VoFStencil &a_stencil, const RealVect &a_pos, const VolIndex &a_vof, const ProblemDomain &a_domain, const EBISBox &a_ebisbox, const int a_noInterpDir=2)
 Compute a bilinear interpolation stencil. More...
 

Static Protected Attributes

static constexpr Real tolerance = 1.E-6
 Tolerance for when we switch between 1D/2D/3D stencils.
 

Detailed Description

Class which computes a bi/tri-linear stencil in cut-cells. This class makes appropriate modifications if one of the cells don't exist, and even if there are multivalued cells present.

Note
This routine assumes that the data is fundamentally cell-centered.

Member Function Documentation

◆ computeInterpStencil1D()

bool LinearStencil::computeInterpStencil1D ( VoFStencil &  a_stencil,
const RealVect &  a_pos,
const VolIndex &  a_vof,
const ProblemDomain &  a_domain,
const EBISBox &  a_ebisbox,
const int  a_interpDir 
)
staticprotected

Compute a linear interpolation stencil.

This only does interpolation along the input coordinate. The other coordinates are ignored.

Parameters
[out]a_stencilInterpolation stencil
[in]a_posRelative position inside cell
[in]a_vofCut-cell
[in]a_domainDomain
[in]a_ebisBoxEBISBox
[in]a_interpDirInterpolation coordinate

◆ computeInterpStencil2D()

bool LinearStencil::computeInterpStencil2D ( VoFStencil &  a_stencil,
const RealVect &  a_pos,
const VolIndex &  a_vof,
const ProblemDomain &  a_domain,
const EBISBox &  a_ebisbox,
const int  a_noInterpDir = 2 
)
staticprotected

Compute a bilinear interpolation stencil.

This ignores interpolation along the input coordinate.

Parameters
[out]a_stencilInterpolation stencil
[in]a_posRelative position inside cell
[in]a_vofCut-cell
[in]a_domainDomain
[in]a_ebisBoxEBISBox
[in]a_interpDirInterpolation coordinate

◆ getLinearInterpStencil()

bool LinearStencil::getLinearInterpStencil ( VoFStencil &  a_stencil,
const RealVect &  a_pos,
const VolIndex &  a_vof,
const ProblemDomain &  a_domain,
const EBISBox &  a_ebisbox 
)
static

Get a bi(tri)linear interpolation stencil in 2D(3D)

Parameters
[out]a_stencilInterpolation stencil
[in]a_posRelative position inside cell
[in]a_vofCut-cell
[in]a_domainDomain
[in]a_ebisBoxEBISBox

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