Alamo
Data Structures | Namespaces | Enumerations | Functions | Variables
Stencil.H File Reference
Include dependency graph for Stencil.H:

Go to the source code of this file.

Data Structures

struct  Numeric::Stencil< T, x, y, z >
 
struct  Numeric::Stencil< T, 1, 0, 0 >
 
struct  Numeric::Stencil< T, 0, 1, 0 >
 
struct  Numeric::Stencil< T, 0, 0, 1 >
 
struct  Numeric::Stencil< T, 2, 0, 0 >
 
struct  Numeric::Stencil< T, 0, 2, 0 >
 
struct  Numeric::Stencil< T, 0, 0, 2 >
 
struct  Numeric::Stencil< T, 1, 1, 0 >
 
struct  Numeric::Stencil< T, 1, 0, 1 >
 
struct  Numeric::Stencil< T, 0, 1, 1 >
 
struct  Numeric::Stencil< T, 4, 0, 0 >
 
struct  Numeric::Stencil< T, 0, 4, 0 >
 
struct  Numeric::Stencil< T, 0, 0, 4 >
 
struct  Numeric::Stencil< T, 3, 1, 0 >
 
struct  Numeric::Stencil< T, 1, 3, 0 >
 
struct  Numeric::Stencil< T, 0, 3, 1 >
 
struct  Numeric::Stencil< T, 0, 1, 3 >
 
struct  Numeric::Stencil< T, 1, 0, 3 >
 
struct  Numeric::Stencil< T, 3, 0, 1 >
 
struct  Numeric::Stencil< T, 2, 2, 0 >
 
struct  Numeric::Stencil< T, 0, 2, 2 >
 
struct  Numeric::Stencil< T, 2, 0, 2 >
 
struct  Numeric::Stencil< T, 2, 1, 1 >
 
struct  Numeric::Stencil< T, 1, 2, 1 >
 
struct  Numeric::Stencil< T, 1, 1, 2 >
 
struct  Numeric::Interpolate
 

Namespaces

 Numeric
 

Enumerations

enum  Numeric::StencilType { Numeric::Lo, Numeric::Hi, Numeric::Central }
 

Functions

static AMREX_FORCE_INLINE std::array< StencilType, AMREX_SPACEDIM > Numeric::GetStencil (const int i, const int j, const int k, const amrex::Box domain)
 
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])
 
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])
 
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)
 
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)
 
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)
 
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])
 
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])
 
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)
 
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)
 
AMREX_FORCE_INLINE std::pair< Set::Vector, Set::MatrixNumeric::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)
 
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])
 
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)
 
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])
 
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)
 
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)
 
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)
 
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)
 
AMREX_FORCE_INLINE Set::Matrix Numeric::FieldToMatrix (const amrex::Array4< const Set::Scalar > &f, const int &i, const int &j, const int &k)
 
AMREX_FORCE_INLINE Set::Matrix Numeric::FieldToMatrix (const amrex::Array4< Set::Scalar > &f, const int &i, const int &j, const int &k)
 
AMREX_FORCE_INLINE Set::Vector Numeric::FieldToVector (const amrex::Array4< const Set::Scalar > &f, const int &i, const int &j, const int &k)
 
AMREX_FORCE_INLINE Set::Vector Numeric::FieldToVector (const amrex::Array4< Set::Scalar > &f, const int &i, const int &j, const int &k)
 
AMREX_FORCE_INLINE void Numeric::MatrixToField (const amrex::Array4< Set::Scalar > &f, const int &i, const int &j, const int &k, Set::Matrix matrix)
 
AMREX_FORCE_INLINE void Numeric::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 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)
 
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)
 
template<int dim>
AMREX_FORCE_INLINE Set::Matrix4< dim, Set::Sym::FullNumeric::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::FullNumeric::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::FullNumeric::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 > Numeric::DefaultType = { AMREX_D_DECL(StencilType::Central, StencilType::Central, StencilType::Central) }