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 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)
|
| |
|
| 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.
|
| |
| 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.
|
| |
| static bool | computeInterpStencil3D (VoFStencil &a_stencil, const RealVect &a_pos, const VolIndex &a_vof, const ProblemDomain &a_domain, const EBISBox &a_ebisbox) |
| | Compute a trilinear interpolation stencil.
|
| |
|
|
static constexpr Real | tolerance = 1.E-6 |
| | Tolerance for when we switch between 1D/2D/3D stencils.
|
| |
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.
◆ 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_stencil | Interpolation stencil |
| [in] | a_pos | Relative position inside cell |
| [in] | a_vof | Cut-cell |
| [in] | a_domain | Domain |
| [in] | a_interpDir | Interpolation coordinate |
- Returns
- Computed interp stencil1 d
- Parameters
-
◆ 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_stencil | Interpolation stencil |
| [in] | a_pos | Relative position inside cell |
| [in] | a_vof | Cut-cell |
| [in] | a_domain | Domain |
- Returns
- Computed interp stencil2 d
- Parameters
-
| [in] | a_ebisbox | Ebisbox |
| [in] | a_noInterpDir | No interp dir |
◆ computeInterpStencil3D()
| bool LinearStencil::computeInterpStencil3D |
( |
VoFStencil & |
a_stencil, |
|
|
const RealVect & |
a_pos, |
|
|
const VolIndex & |
a_vof, |
|
|
const ProblemDomain & |
a_domain, |
|
|
const EBISBox & |
a_ebisbox |
|
) |
| |
|
staticprotected |
Compute a trilinear interpolation stencil.
- Parameters
-
| [out] | a_stencil | Interpolation stencil |
| [in] | a_pos | Relative position inside cell |
| [in] | a_vof | Cut-cell |
| [in] | a_domain | Domain |
| [in] | a_ebisbox | EBISBox |
- Returns
- True if a stencil could be computed, false otherwise.
◆ 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_stencil | Interpolation stencil |
| [in] | a_pos | Relative position inside cell |
| [in] | a_vof | Cut-cell |
| [in] | a_domain | Domain |
- Returns
- Linear interp stencil
- Parameters
-
The documentation for this class was generated from the following files: