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

Namespaces

namespace  Function
 
namespace  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], std::array< StencilType, AMREX_SPACEDIM > &stencil=DefaultType)
 
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::Vector NodeGradientOnCell (const amrex::Array4< const Set::Scalar > &f, const int &i, const int &j, const int &k, const Set::Scalar dx[AMREX_SPACEDIM])
 
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::Vector NodeGradientOnCell (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::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::FullDoubleHessian (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::FullDoubleHessian< 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::FullDoubleHessian< 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) }
 
static std::array< StencilType, AMREX_SPACEDIM > XLo = { AMREX_D_DECL(StencilType::Lo, StencilType::Central, StencilType::Central) }
 
static std::array< StencilType, AMREX_SPACEDIM > XHi = { AMREX_D_DECL(StencilType::Hi, 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 690 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 712 of file Stencil.H.

◆ 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 581 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 1194 of file Stencil.H.

◆ 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 653 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 1203 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 1247 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 1268 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 1084 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 1106 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 1128 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 1144 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 36 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 871 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 672 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 735 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 759 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 781 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 966 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 991 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 1041 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],
std::array< StencilType, AMREX_SPACEDIM > &  stencil = DefaultType 
)

Definition at line 546 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 564 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 914 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 1160 of file Stencil.H.

◆ NodeGradientOnCell() [1/4]

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 892 of file Stencil.H.

◆ NodeGradientOnCell() [2/4]

AMREX_FORCE_INLINE Set::Vector Numeric::NodeGradientOnCell ( 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 851 of file Stencil.H.

◆ NodeGradientOnCell() [3/4]

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

Definition at line 811 of file Stencil.H.

◆ NodeGradientOnCell() [4/4]

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 831 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 1178 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.

◆ XHi

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

Definition at line 18 of file Stencil.H.

◆ XLo

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

Definition at line 16 of file Stencil.H.