Alamo
Namespaces | Data Structures | Enumerations | Functions | Variables
Numeric Namespace Reference

Namespaces

 Function
 
 Interpolator
 

Data Structures

struct  Interpolate
 
struct  Stencil
 
struct  Stencil< T, 0, 0, 1 >
 
struct  Stencil< T, 0, 0, 2 >
 
struct  Stencil< T, 0, 0, 4 >
 
struct  Stencil< T, 0, 1, 0 >
 
struct  Stencil< T, 0, 1, 1 >
 
struct  Stencil< T, 0, 1, 3 >
 
struct  Stencil< T, 0, 2, 0 >
 
struct  Stencil< T, 0, 2, 2 >
 
struct  Stencil< T, 0, 3, 1 >
 
struct  Stencil< T, 0, 4, 0 >
 
struct  Stencil< T, 1, 0, 0 >
 
struct  Stencil< T, 1, 0, 1 >
 
struct  Stencil< T, 1, 0, 3 >
 
struct  Stencil< T, 1, 1, 0 >
 
struct  Stencil< T, 1, 1, 2 >
 
struct  Stencil< T, 1, 2, 1 >
 
struct  Stencil< T, 1, 3, 0 >
 
struct  Stencil< T, 2, 0, 0 >
 
struct  Stencil< T, 2, 0, 2 >
 
struct  Stencil< T, 2, 1, 1 >
 
struct  Stencil< T, 2, 2, 0 >
 
struct  Stencil< T, 3, 0, 1 >
 
struct  Stencil< T, 3, 1, 0 >
 
struct  Stencil< T, 4, 0, 0 >
 

Enumerations

enum  StencilType { Lo, Hi, Central }
 

Functions

static AMREX_FORCE_INLINE std::array< StencilType, AMREX_SPACEDIM > GetStencil (const int i, const int j, const int k, const amrex::Box domain)
 
AMREX_FORCE_INLINE Set::Scalar Laplacian (const amrex::Array4< const Set::Scalar > &f, const int &i, const int &j, const int &k, const int &m, const Set::Scalar dx[AMREX_SPACEDIM])
 
AMREX_FORCE_INLINE Set::Vector Laplacian (const amrex::Array4< const Set::Vector > &f, const int &i, const int &j, const int &k, const Set::Scalar dx[AMREX_SPACEDIM])
 
AMREX_FORCE_INLINE Set::Vector Divergence (const amrex::Array4< const Set::Matrix > &dw, const int &i, const int &j, const int &k, const Set::Scalar DX[AMREX_SPACEDIM], std::array< StencilType, AMREX_SPACEDIM > &stencil=DefaultType)
 
AMREX_FORCE_INLINE Set::Scalar Divergence (const amrex::Array4< const Set::Scalar > &f, const int &i, const int &j, const int &k, const int &m, const Set::Scalar dx[AMREX_SPACEDIM], std::array< StencilType, AMREX_SPACEDIM > stencil=DefaultType)
 
AMREX_FORCE_INLINE Set::Vector Gradient (const amrex::Array4< const Set::Scalar > &f, const int &i, const int &j, const int &k, const int &m, const Set::Scalar dx[AMREX_SPACEDIM], std::array< StencilType, AMREX_SPACEDIM > stencil=DefaultType)
 
AMREX_FORCE_INLINE Set::Vector CellGradientOnNode (const amrex::Array4< const Set::Scalar > &f, const int &i, const int &j, const int &k, const int &m, const Set::Scalar dx[AMREX_SPACEDIM])
 
template<class T >
AMREX_FORCE_INLINE std::array< T, AMREX_SPACEDIM > CellGradientOnNode (const amrex::Array4< const T > &f, const int &i, const int &j, const int &k, const int &m, const Set::Scalar dx[AMREX_SPACEDIM])
 
AMREX_FORCE_INLINE Set::Matrix Gradient (const amrex::Array4< const Set::Scalar > &f, const int &i, const int &j, const int &k, const Set::Scalar dx[AMREX_SPACEDIM], std::array< StencilType, AMREX_SPACEDIM > stencil=DefaultType)
 
AMREX_FORCE_INLINE Set::Matrix Gradient (const amrex::Array4< const Set::Vector > &f, const int &i, const int &j, const int &k, const Set::Scalar dx[AMREX_SPACEDIM], std::array< StencilType, AMREX_SPACEDIM > stencil=DefaultType)
 
AMREX_FORCE_INLINE std::pair< Set::Vector, Set::MatrixGradientSplit (const amrex::Array4< const Set::Vector > &f, const int &i, const int &j, const int &k, const Set::Scalar dx[AMREX_SPACEDIM], std::array< StencilType, AMREX_SPACEDIM > stencil=DefaultType)
 
AMREX_FORCE_INLINE Set::Matrix NodeGradientOnCell (const amrex::Array4< const Set::Vector > &f, const int &i, const int &j, const int &k, const Set::Scalar dx[AMREX_SPACEDIM])
 
AMREX_FORCE_INLINE Set::Matrix3 Gradient (const amrex::Array4< const Set::Matrix > &f, const int &i, const int &j, const int &k, const Set::Scalar dx[AMREX_SPACEDIM], std::array< StencilType, AMREX_SPACEDIM > stencil=DefaultType)
 
AMREX_FORCE_INLINE Set::Matrix3 NodeGradientOnCell (const amrex::Array4< const Set::Matrix > &f, const int &i, const int &j, const int &k, const Set::Scalar dx[AMREX_SPACEDIM])
 
AMREX_FORCE_INLINE Set::Matrix3 MatrixGradient (const amrex::Array4< const Set::Scalar > &f, const int &i, const int &j, const int &k, const Set::Scalar dx[AMREX_SPACEDIM], std::array< StencilType, AMREX_SPACEDIM > stencil=DefaultType)
 
AMREX_FORCE_INLINE Set::Matrix Hessian (const amrex::Array4< const Set::Scalar > &f, const int &i, const int &j, const int &k, const int &m, const Set::Scalar dx[AMREX_SPACEDIM], std::array< StencilType, AMREX_SPACEDIM > stencil=DefaultType)
 
AMREX_FORCE_INLINE Set::Matrix3 Hessian (const amrex::Array4< const Set::Scalar > &f, const int &i, const int &j, const int &k, const Set::Scalar DX[AMREX_SPACEDIM], std::array< StencilType, AMREX_SPACEDIM > stencil=DefaultType)
 
AMREX_FORCE_INLINE Set::Matrix3 Hessian (const amrex::Array4< const Set::Vector > &f, const int &i, const int &j, const int &k, const Set::Scalar dx[AMREX_SPACEDIM], std::array< StencilType, AMREX_SPACEDIM > stencil=DefaultType)
 
AMREX_FORCE_INLINE Set::Matrix FieldToMatrix (const amrex::Array4< const Set::Scalar > &f, const int &i, const int &j, const int &k)
 
AMREX_FORCE_INLINE Set::Matrix FieldToMatrix (const amrex::Array4< Set::Scalar > &f, const int &i, const int &j, const int &k)
 
AMREX_FORCE_INLINE Set::Vector FieldToVector (const amrex::Array4< const Set::Scalar > &f, const int &i, const int &j, const int &k)
 
AMREX_FORCE_INLINE Set::Vector FieldToVector (const amrex::Array4< Set::Scalar > &f, const int &i, const int &j, const int &k)
 
AMREX_FORCE_INLINE void MatrixToField (const amrex::Array4< Set::Scalar > &f, const int &i, const int &j, const int &k, Set::Matrix matrix)
 
AMREX_FORCE_INLINE void VectorToField (const amrex::Array4< Set::Scalar > &f, const int &i, const int &j, const int &k, Set::Vector vector)
 
template<int index, int SYM>
Set::Matrix3 Divergence (const amrex::Array4< const Set::Matrix4< AMREX_SPACEDIM, SYM >> &, const int, const int, const int, const Set::Scalar[AMREX_SPACEDIM], std::array< StencilType, AMREX_SPACEDIM >=DefaultType)
 
template<>
AMREX_FORCE_INLINE Set::Matrix3 Divergence< 2, Set::Sym::Isotropic > (const amrex::Array4< const Set::Matrix4< AMREX_SPACEDIM, Set::Sym::Isotropic >> &C, const int i, const int j, const int k, const Set::Scalar dx[AMREX_SPACEDIM], std::array< StencilType, AMREX_SPACEDIM > stencil)
 
template<int dim>
AMREX_FORCE_INLINE Set::Matrix4< dim, Set::Sym::Full > DoubleHessian (const amrex::Array4< const Set::Scalar > &f, const int &i, const int &j, const int &k, const int &m, const Set::Scalar dx[AMREX_SPACEDIM])
 
template<>
AMREX_FORCE_INLINE Set::Matrix4< 2, Set::Sym::Full > DoubleHessian< 2 > (const amrex::Array4< const Set::Scalar > &f, const int &i, const int &j, const int &k, const int &m, const Set::Scalar dx[AMREX_SPACEDIM])
 
template<>
AMREX_FORCE_INLINE Set::Matrix4< 3, Set::Sym::Full > DoubleHessian< 3 > (const amrex::Array4< const Set::Scalar > &f, const int &i, const int &j, const int &k, const int &m, const Set::Scalar dx[AMREX_SPACEDIM])
 

Variables

static std::array< StencilType, AMREX_SPACEDIM > DefaultType = { AMREX_D_DECL(StencilType::Central, StencilType::Central, StencilType::Central) }
 

Enumeration Type Documentation

◆ StencilType

Enumerator
Lo 
Hi 
Central 

Definition at line 12 of file Stencil.H.

Function Documentation

◆ CellGradientOnNode() [1/2]

AMREX_FORCE_INLINE Set::Vector Numeric::CellGradientOnNode ( const amrex::Array4< const Set::Scalar > &  f,
const int &  i,
const int &  j,
const int &  k,
const int &  m,
const Set::Scalar  dx[AMREX_SPACEDIM] 
)

Definition at line 673 of file Stencil.H.

◆ CellGradientOnNode() [2/2]

template<class T >
AMREX_FORCE_INLINE std::array<T, AMREX_SPACEDIM> Numeric::CellGradientOnNode ( const amrex::Array4< const T > &  f,
const int &  i,
const int &  j,
const int &  k,
const int &  m,
const Set::Scalar  dx[AMREX_SPACEDIM] 
)

Definition at line 695 of file Stencil.H.

Here is the call graph for this function:

◆ Divergence() [1/3]

AMREX_FORCE_INLINE Set::Vector Numeric::Divergence ( const amrex::Array4< const Set::Matrix > &  dw,
const int &  i,
const int &  j,
const int &  k,
const Set::Scalar  DX[AMREX_SPACEDIM],
std::array< StencilType, AMREX_SPACEDIM > &  stencil = DefaultType 
)

Definition at line 564 of file Stencil.H.

◆ Divergence() [2/3]

template<int index, int SYM>
Set::Matrix3 Numeric::Divergence ( const amrex::Array4< const Set::Matrix4< AMREX_SPACEDIM, SYM >> &  ,
const int  ,
const int  ,
const int  ,
const Set::Scalar  [AMREX_SPACEDIM],
std::array< StencilType, AMREX_SPACEDIM >  = DefaultType 
)

Definition at line 1137 of file Stencil.H.

Here is the call graph for this function:

◆ Divergence() [3/3]

AMREX_FORCE_INLINE Set::Scalar Numeric::Divergence ( const amrex::Array4< const Set::Scalar > &  f,
const int &  i,
const int &  j,
const int &  k,
const int &  m,
const Set::Scalar  dx[AMREX_SPACEDIM],
std::array< StencilType, AMREX_SPACEDIM >  stencil = DefaultType 
)

Definition at line 636 of file Stencil.H.

◆ Divergence< 2, Set::Sym::Isotropic >()

template<>
AMREX_FORCE_INLINE Set::Matrix3 Numeric::Divergence< 2, Set::Sym::Isotropic > ( const amrex::Array4< const Set::Matrix4< AMREX_SPACEDIM, Set::Sym::Isotropic >> &  C,
const int  i,
const int  j,
const int  k,
const Set::Scalar  dx[AMREX_SPACEDIM],
std::array< StencilType, AMREX_SPACEDIM >  stencil 
)

Definition at line 1146 of file Stencil.H.

◆ DoubleHessian()

template<int dim>
AMREX_FORCE_INLINE Set::Matrix4<dim, Set::Sym::Full> Numeric::DoubleHessian ( const amrex::Array4< const Set::Scalar > &  f,
const int &  i,
const int &  j,
const int &  k,
const int &  m,
const Set::Scalar  dx[AMREX_SPACEDIM] 
)

◆ DoubleHessian< 2 >()

template<>
AMREX_FORCE_INLINE Set::Matrix4<2, Set::Sym::Full> Numeric::DoubleHessian< 2 > ( const amrex::Array4< const Set::Scalar > &  f,
const int &  i,
const int &  j,
const int &  k,
const int &  m,
const Set::Scalar  dx[AMREX_SPACEDIM] 
)

Definition at line 1192 of file Stencil.H.

◆ DoubleHessian< 3 >()

template<>
AMREX_FORCE_INLINE Set::Matrix4<3, Set::Sym::Full> Numeric::DoubleHessian< 3 > ( const amrex::Array4< const Set::Scalar > &  f,
const int &  i,
const int &  j,
const int &  k,
const int &  m,
const Set::Scalar  dx[AMREX_SPACEDIM] 
)

Definition at line 1213 of file Stencil.H.

◆ FieldToMatrix() [1/2]

AMREX_FORCE_INLINE Set::Matrix Numeric::FieldToMatrix ( const amrex::Array4< const Set::Scalar > &  f,
const int &  i,
const int &  j,
const int &  k 
)

Definition at line 1027 of file Stencil.H.

◆ FieldToMatrix() [2/2]

AMREX_FORCE_INLINE Set::Matrix Numeric::FieldToMatrix ( const amrex::Array4< Set::Scalar > &  f,
const int &  i,
const int &  j,
const int &  k 
)

Definition at line 1049 of file Stencil.H.

◆ FieldToVector() [1/2]

AMREX_FORCE_INLINE Set::Vector Numeric::FieldToVector ( const amrex::Array4< const Set::Scalar > &  f,
const int &  i,
const int &  j,
const int &  k 
)

Definition at line 1071 of file Stencil.H.

◆ FieldToVector() [2/2]

AMREX_FORCE_INLINE Set::Vector Numeric::FieldToVector ( const amrex::Array4< Set::Scalar > &  f,
const int &  i,
const int &  j,
const int &  k 
)

Definition at line 1087 of file Stencil.H.

◆ GetStencil()

static AMREX_FORCE_INLINE std::array<StencilType, AMREX_SPACEDIM> Numeric::GetStencil ( const int  i,
const int  j,
const int  k,
const amrex::Box  domain 
)
static

Definition at line 20 of file Stencil.H.

◆ Gradient() [1/4]

AMREX_FORCE_INLINE Set::Matrix3 Numeric::Gradient ( const amrex::Array4< const Set::Matrix > &  f,
const int &  i,
const int &  j,
const int &  k,
const Set::Scalar  dx[AMREX_SPACEDIM],
std::array< StencilType, AMREX_SPACEDIM >  stencil = DefaultType 
)

Definition at line 814 of file Stencil.H.

◆ Gradient() [2/4]

AMREX_FORCE_INLINE Set::Vector Numeric::Gradient ( const amrex::Array4< const Set::Scalar > &  f,
const int &  i,
const int &  j,
const int &  k,
const int &  m,
const Set::Scalar  dx[AMREX_SPACEDIM],
std::array< StencilType, AMREX_SPACEDIM >  stencil = DefaultType 
)

Definition at line 655 of file Stencil.H.

◆ Gradient() [3/4]

AMREX_FORCE_INLINE Set::Matrix Numeric::Gradient ( const amrex::Array4< const Set::Scalar > &  f,
const int &  i,
const int &  j,
const int &  k,
const Set::Scalar  dx[AMREX_SPACEDIM],
std::array< StencilType, AMREX_SPACEDIM >  stencil = DefaultType 
)

Definition at line 718 of file Stencil.H.

◆ Gradient() [4/4]

AMREX_FORCE_INLINE Set::Matrix Numeric::Gradient ( const amrex::Array4< const Set::Vector > &  f,
const int &  i,
const int &  j,
const int &  k,
const Set::Scalar  dx[AMREX_SPACEDIM],
std::array< StencilType, AMREX_SPACEDIM >  stencil = DefaultType 
)

Definition at line 742 of file Stencil.H.

◆ GradientSplit()

AMREX_FORCE_INLINE std::pair<Set::Vector,Set::Matrix> Numeric::GradientSplit ( const amrex::Array4< const Set::Vector > &  f,
const int &  i,
const int &  j,
const int &  k,
const Set::Scalar  dx[AMREX_SPACEDIM],
std::array< StencilType, AMREX_SPACEDIM >  stencil = DefaultType 
)

Definition at line 764 of file Stencil.H.

◆ Hessian() [1/3]

AMREX_FORCE_INLINE Set::Matrix Numeric::Hessian ( const amrex::Array4< const Set::Scalar > &  f,
const int &  i,
const int &  j,
const int &  k,
const int &  m,
const Set::Scalar  dx[AMREX_SPACEDIM],
std::array< StencilType, AMREX_SPACEDIM >  stencil = DefaultType 
)

Definition at line 909 of file Stencil.H.

◆ Hessian() [2/3]

AMREX_FORCE_INLINE Set::Matrix3 Numeric::Hessian ( const amrex::Array4< const Set::Scalar > &  f,
const int &  i,
const int &  j,
const int &  k,
const Set::Scalar  DX[AMREX_SPACEDIM],
std::array< StencilType, AMREX_SPACEDIM >  stencil = DefaultType 
)

Definition at line 934 of file Stencil.H.

◆ Hessian() [3/3]

AMREX_FORCE_INLINE Set::Matrix3 Numeric::Hessian ( const amrex::Array4< const Set::Vector > &  f,
const int &  i,
const int &  j,
const int &  k,
const Set::Scalar  dx[AMREX_SPACEDIM],
std::array< StencilType, AMREX_SPACEDIM >  stencil = DefaultType 
)

Definition at line 984 of file Stencil.H.

◆ Laplacian() [1/2]

AMREX_FORCE_INLINE Set::Scalar Numeric::Laplacian ( const amrex::Array4< const Set::Scalar > &  f,
const int &  i,
const int &  j,
const int &  k,
const int &  m,
const Set::Scalar  dx[AMREX_SPACEDIM] 
)

Definition at line 530 of file Stencil.H.

◆ Laplacian() [2/2]

AMREX_FORCE_INLINE Set::Vector Numeric::Laplacian ( const amrex::Array4< const Set::Vector > &  f,
const int &  i,
const int &  j,
const int &  k,
const Set::Scalar  dx[AMREX_SPACEDIM] 
)

Definition at line 547 of file Stencil.H.

◆ MatrixGradient()

AMREX_FORCE_INLINE Set::Matrix3 Numeric::MatrixGradient ( const amrex::Array4< const Set::Scalar > &  f,
const int &  i,
const int &  j,
const int &  k,
const Set::Scalar  dx[AMREX_SPACEDIM],
std::array< StencilType, AMREX_SPACEDIM >  stencil = DefaultType 
)

Definition at line 857 of file Stencil.H.

◆ MatrixToField()

AMREX_FORCE_INLINE void Numeric::MatrixToField ( const amrex::Array4< Set::Scalar > &  f,
const int &  i,
const int &  j,
const int &  k,
Set::Matrix  matrix 
)

Definition at line 1103 of file Stencil.H.

◆ NodeGradientOnCell() [1/2]

AMREX_FORCE_INLINE Set::Matrix3 Numeric::NodeGradientOnCell ( const amrex::Array4< const Set::Matrix > &  f,
const int &  i,
const int &  j,
const int &  k,
const Set::Scalar  dx[AMREX_SPACEDIM] 
)

Definition at line 835 of file Stencil.H.

◆ NodeGradientOnCell() [2/2]

AMREX_FORCE_INLINE Set::Matrix Numeric::NodeGradientOnCell ( const amrex::Array4< const Set::Vector > &  f,
const int &  i,
const int &  j,
const int &  k,
const Set::Scalar  dx[AMREX_SPACEDIM] 
)

Definition at line 794 of file Stencil.H.

◆ VectorToField()

AMREX_FORCE_INLINE void Numeric::VectorToField ( const amrex::Array4< Set::Scalar > &  f,
const int &  i,
const int &  j,
const int &  k,
Set::Vector  vector 
)

Definition at line 1121 of file Stencil.H.

Variable Documentation

◆ DefaultType

std::array<StencilType, AMREX_SPACEDIM> Numeric::DefaultType = { AMREX_D_DECL(StencilType::Central, StencilType::Central, StencilType::Central) }
static

Definition at line 14 of file Stencil.H.