MFEM  v3.3
Finite element discretization library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
Classes | Public Types | Public Member Functions | Static Public Attributes | Protected Types | Protected Attributes | List of all members
mfem::FieldEvaluator< FESpace_t, VecLayout_t, IR, complex_t, real_t > Class Template Reference

#include <tevaluator.hpp>

Inheritance diagram for mfem::FieldEvaluator< FESpace_t, VecLayout_t, IR, complex_t, real_t >:
[legend]
Collaboration diagram for mfem::FieldEvaluator< FESpace_t, VecLayout_t, IR, complex_t, real_t >:
[legend]

Classes

struct  Action
 
struct  Action< 0, dummy >
 
struct  Action< 1, dummy >
 
struct  Action< 2, dummy >
 
struct  Action< 3, dummy >
 
struct  AData
 
struct  AData< 0, NE >
 
struct  AData< 1, NE >
 
struct  AData< 2, NE >
 
struct  AData< 3, NE >
 
struct  BData
 
struct  Spec
 
struct  TElementMatrix
 
struct  TElementMatrix< 1, 1, NE >
 
struct  TElementMatrix< 2, 2, NE >
 

Public Types

enum  InOutData { None = 0, Values = 1, Gradients = 2 }
 
typedef complex_t complex_type
 
typedef FESpace_t FESpace_type
 
typedef FESpace_t::FE_type FE_type
 
typedef ShapeEvaluator
< FE_type, IR, real_t > 
ShapeEval_type
 
typedef VecLayout_t VecLayout_type
 
typedef FieldEvaluator
< FESpace_t, VecLayout_t, IR,
complex_t, real_t > 
T_type
 

Public Member Functions

MFEM_ALWAYS_INLINE FieldEvaluator (const FESpace_t &tfes, const ShapeEval_type &shape_eval, const VecLayout_type &vec_layout, const complex_t *global_data_in, complex_t *global_data_out)
 
MFEM_ALWAYS_INLINE FieldEvaluator (const FieldEvaluator &f, const complex_t *global_data_in, complex_t *global_data_out)
 
MFEM_ALWAYS_INLINE FieldEvaluator (const FiniteElementSpace &fes, const complex_t *global_data_in, complex_t *global_data_out)
 
MFEM_ALWAYS_INLINE FESpace_typeFESpace ()
 
MFEM_ALWAYS_INLINE ShapeEval_typeShapeEval ()
 
MFEM_ALWAYS_INLINE VecLayout_typeVecLayout ()
 
MFEM_ALWAYS_INLINE void SetElement (int el)
 
template<typename val_layout_t , typename val_data_t >
MFEM_ALWAYS_INLINE void GetValues (int el, const val_layout_t &l, val_data_t &vals)
 
template<typename grad_layout_t , typename grad_data_t >
MFEM_ALWAYS_INLINE void GetGradients (int el, const grad_layout_t &l, grad_data_t &grad)
 
template<typename DataType >
MFEM_ALWAYS_INLINE void Eval (DataType &F)
 
template<typename DataType >
MFEM_ALWAYS_INLINE void Eval (int el, DataType &F)
 
template<bool Add, typename DataType >
MFEM_ALWAYS_INLINE void Assemble (DataType &F)
 
template<bool Add, typename DataType >
MFEM_ALWAYS_INLINE void Assemble (int el, DataType &F)
 
template<typename DataType >
MFEM_ALWAYS_INLINE void EvalSerialized (const complex_t *loc_dofs, DataType &F)
 
template<bool Add, typename DataType >
MFEM_ALWAYS_INLINE void AssembleSerialized (const DataType &F, complex_t *loc_dofs)
 

Static Public Attributes

static const int dofs = FE_type::dofs
 
static const int dim = FE_type::dim
 
static const int qpts = IR::qpts
 
static const int vdim = VecLayout_t::vec_dim
 

Protected Types

typedef FieldEvaluator_base
< FESpace_t, VecLayout_t, IR,
complex_t, real_t > 
base_class
 
- Protected Types inherited from mfem::FieldEvaluator_base< FESpace_t, VecLayout_t, IR, complex_t, real_t >
typedef FESpace_t::FE_type FE_type
 
typedef ShapeEvaluator
< FE_type, IR, real_t > 
ShapeEval_type
 

Protected Attributes

const complex_t * data_in
 
complex_t * data_out
 
- Protected Attributes inherited from mfem::FieldEvaluator_base< FESpace_t, VecLayout_t, IR, complex_t, real_t >
FESpace_t fespace
 
ShapeEval_type shapeEval
 
VecLayout_t vec_layout
 

Additional Inherited Members

- Protected Member Functions inherited from mfem::FieldEvaluator_base< FESpace_t, VecLayout_t, IR, complex_t, real_t >
MFEM_ALWAYS_INLINE FieldEvaluator_base (const FESpace_t &tfes, const ShapeEval_type &shape_eval, const VecLayout_t &vec_layout)
 
MFEM_ALWAYS_INLINE FieldEvaluator_base (const FE_type &fe, const FiniteElementSpace &fes)
 

Detailed Description

template<typename FESpace_t, typename VecLayout_t, typename IR, typename complex_t = double, typename real_t = double>
class mfem::FieldEvaluator< FESpace_t, VecLayout_t, IR, complex_t, real_t >

Definition at line 982 of file tevaluator.hpp.

Member Typedef Documentation

template<typename FESpace_t , typename VecLayout_t , typename IR , typename complex_t = double, typename real_t = double>
typedef FieldEvaluator_base<FESpace_t,VecLayout_t,IR,complex_t,real_t> mfem::FieldEvaluator< FESpace_t, VecLayout_t, IR, complex_t, real_t >::base_class
protected

Definition at line 1003 of file tevaluator.hpp.

template<typename FESpace_t , typename VecLayout_t , typename IR , typename complex_t = double, typename real_t = double>
typedef complex_t mfem::FieldEvaluator< FESpace_t, VecLayout_t, IR, complex_t, real_t >::complex_type

Definition at line 986 of file tevaluator.hpp.

template<typename FESpace_t , typename VecLayout_t , typename IR , typename complex_t = double, typename real_t = double>
typedef FESpace_t::FE_type mfem::FieldEvaluator< FESpace_t, VecLayout_t, IR, complex_t, real_t >::FE_type

Definition at line 988 of file tevaluator.hpp.

template<typename FESpace_t , typename VecLayout_t , typename IR , typename complex_t = double, typename real_t = double>
typedef FESpace_t mfem::FieldEvaluator< FESpace_t, VecLayout_t, IR, complex_t, real_t >::FESpace_type

Definition at line 987 of file tevaluator.hpp.

template<typename FESpace_t , typename VecLayout_t , typename IR , typename complex_t = double, typename real_t = double>
typedef ShapeEvaluator<FE_type,IR,real_t> mfem::FieldEvaluator< FESpace_t, VecLayout_t, IR, complex_t, real_t >::ShapeEval_type

Definition at line 989 of file tevaluator.hpp.

template<typename FESpace_t , typename VecLayout_t , typename IR , typename complex_t = double, typename real_t = double>
typedef FieldEvaluator<FESpace_t,VecLayout_t,IR,complex_t,real_t> mfem::FieldEvaluator< FESpace_t, VecLayout_t, IR, complex_t, real_t >::T_type

Definition at line 993 of file tevaluator.hpp.

template<typename FESpace_t , typename VecLayout_t , typename IR , typename complex_t = double, typename real_t = double>
typedef VecLayout_t mfem::FieldEvaluator< FESpace_t, VecLayout_t, IR, complex_t, real_t >::VecLayout_type

Definition at line 990 of file tevaluator.hpp.

Member Enumeration Documentation

template<typename FESpace_t , typename VecLayout_t , typename IR , typename complex_t = double, typename real_t = double>
enum mfem::FieldEvaluator::InOutData
Enumerator
None 
Values 
Gradients 

Definition at line 1132 of file tevaluator.hpp.

Constructor & Destructor Documentation

template<typename FESpace_t , typename VecLayout_t , typename IR , typename complex_t = double, typename real_t = double>
MFEM_ALWAYS_INLINE mfem::FieldEvaluator< FESpace_t, VecLayout_t, IR, complex_t, real_t >::FieldEvaluator ( const FESpace_t &  tfes,
const ShapeEval_type shape_eval,
const VecLayout_type vec_layout,
const complex_t *  global_data_in,
complex_t *  global_data_out 
)
inline

Definition at line 1014 of file tevaluator.hpp.

template<typename FESpace_t , typename VecLayout_t , typename IR , typename complex_t = double, typename real_t = double>
MFEM_ALWAYS_INLINE mfem::FieldEvaluator< FESpace_t, VecLayout_t, IR, complex_t, real_t >::FieldEvaluator ( const FieldEvaluator< FESpace_t, VecLayout_t, IR, complex_t, real_t > &  f,
const complex_t *  global_data_in,
complex_t *  global_data_out 
)
inline

Definition at line 1024 of file tevaluator.hpp.

template<typename FESpace_t , typename VecLayout_t , typename IR , typename complex_t = double, typename real_t = double>
MFEM_ALWAYS_INLINE mfem::FieldEvaluator< FESpace_t, VecLayout_t, IR, complex_t, real_t >::FieldEvaluator ( const FiniteElementSpace fes,
const complex_t *  global_data_in,
complex_t *  global_data_out 
)
inline

Definition at line 1033 of file tevaluator.hpp.

Member Function Documentation

template<typename FESpace_t , typename VecLayout_t , typename IR , typename complex_t = double, typename real_t = double>
template<bool Add, typename DataType >
MFEM_ALWAYS_INLINE void mfem::FieldEvaluator< FESpace_t, VecLayout_t, IR, complex_t, real_t >::Assemble ( DataType &  F)
inline

Definition at line 1097 of file tevaluator.hpp.

template<typename FESpace_t , typename VecLayout_t , typename IR , typename complex_t = double, typename real_t = double>
template<bool Add, typename DataType >
MFEM_ALWAYS_INLINE void mfem::FieldEvaluator< FESpace_t, VecLayout_t, IR, complex_t, real_t >::Assemble ( int  el,
DataType &  F 
)
inline

Definition at line 1106 of file tevaluator.hpp.

template<typename FESpace_t , typename VecLayout_t , typename IR , typename complex_t = double, typename real_t = double>
template<bool Add, typename DataType >
MFEM_ALWAYS_INLINE void mfem::FieldEvaluator< FESpace_t, VecLayout_t, IR, complex_t, real_t >::AssembleSerialized ( const DataType &  F,
complex_t *  loc_dofs 
)
inline

Definition at line 1122 of file tevaluator.hpp.

template<typename FESpace_t , typename VecLayout_t , typename IR , typename complex_t = double, typename real_t = double>
template<typename DataType >
MFEM_ALWAYS_INLINE void mfem::FieldEvaluator< FESpace_t, VecLayout_t, IR, complex_t, real_t >::Eval ( DataType &  F)
inline

Definition at line 1081 of file tevaluator.hpp.

template<typename FESpace_t , typename VecLayout_t , typename IR , typename complex_t = double, typename real_t = double>
template<typename DataType >
MFEM_ALWAYS_INLINE void mfem::FieldEvaluator< FESpace_t, VecLayout_t, IR, complex_t, real_t >::Eval ( int  el,
DataType &  F 
)
inline

Definition at line 1089 of file tevaluator.hpp.

template<typename FESpace_t , typename VecLayout_t , typename IR , typename complex_t = double, typename real_t = double>
template<typename DataType >
MFEM_ALWAYS_INLINE void mfem::FieldEvaluator< FESpace_t, VecLayout_t, IR, complex_t, real_t >::EvalSerialized ( const complex_t *  loc_dofs,
DataType &  F 
)
inline

Definition at line 1115 of file tevaluator.hpp.

template<typename FESpace_t , typename VecLayout_t , typename IR , typename complex_t = double, typename real_t = double>
MFEM_ALWAYS_INLINE FESpace_type& mfem::FieldEvaluator< FESpace_t, VecLayout_t, IR, complex_t, real_t >::FESpace ( )
inline

Definition at line 1042 of file tevaluator.hpp.

template<typename FESpace_t , typename VecLayout_t , typename IR , typename complex_t = double, typename real_t = double>
template<typename grad_layout_t , typename grad_data_t >
MFEM_ALWAYS_INLINE void mfem::FieldEvaluator< FESpace_t, VecLayout_t, IR, complex_t, real_t >::GetGradients ( int  el,
const grad_layout_t &  l,
grad_data_t &  grad 
)
inline

Definition at line 1067 of file tevaluator.hpp.

template<typename FESpace_t , typename VecLayout_t , typename IR , typename complex_t = double, typename real_t = double>
template<typename val_layout_t , typename val_data_t >
MFEM_ALWAYS_INLINE void mfem::FieldEvaluator< FESpace_t, VecLayout_t, IR, complex_t, real_t >::GetValues ( int  el,
const val_layout_t &  l,
val_data_t &  vals 
)
inline

Definition at line 1055 of file tevaluator.hpp.

template<typename FESpace_t , typename VecLayout_t , typename IR , typename complex_t = double, typename real_t = double>
MFEM_ALWAYS_INLINE void mfem::FieldEvaluator< FESpace_t, VecLayout_t, IR, complex_t, real_t >::SetElement ( int  el)
inline

Definition at line 1047 of file tevaluator.hpp.

template<typename FESpace_t , typename VecLayout_t , typename IR , typename complex_t = double, typename real_t = double>
MFEM_ALWAYS_INLINE ShapeEval_type& mfem::FieldEvaluator< FESpace_t, VecLayout_t, IR, complex_t, real_t >::ShapeEval ( )
inline

Definition at line 1043 of file tevaluator.hpp.

template<typename FESpace_t , typename VecLayout_t , typename IR , typename complex_t = double, typename real_t = double>
MFEM_ALWAYS_INLINE VecLayout_type& mfem::FieldEvaluator< FESpace_t, VecLayout_t, IR, complex_t, real_t >::VecLayout ( )
inline

Definition at line 1044 of file tevaluator.hpp.

Member Data Documentation

template<typename FESpace_t , typename VecLayout_t , typename IR , typename complex_t = double, typename real_t = double>
const complex_t* mfem::FieldEvaluator< FESpace_t, VecLayout_t, IR, complex_t, real_t >::data_in
protected

Definition at line 1008 of file tevaluator.hpp.

template<typename FESpace_t , typename VecLayout_t , typename IR , typename complex_t = double, typename real_t = double>
complex_t* mfem::FieldEvaluator< FESpace_t, VecLayout_t, IR, complex_t, real_t >::data_out
protected

Definition at line 1009 of file tevaluator.hpp.

template<typename FESpace_t , typename VecLayout_t , typename IR , typename complex_t = double, typename real_t = double>
const int mfem::FieldEvaluator< FESpace_t, VecLayout_t, IR, complex_t, real_t >::dim = FE_type::dim
static

Definition at line 996 of file tevaluator.hpp.

template<typename FESpace_t , typename VecLayout_t , typename IR , typename complex_t = double, typename real_t = double>
const int mfem::FieldEvaluator< FESpace_t, VecLayout_t, IR, complex_t, real_t >::dofs = FE_type::dofs
static

Definition at line 995 of file tevaluator.hpp.

template<typename FESpace_t , typename VecLayout_t , typename IR , typename complex_t = double, typename real_t = double>
const int mfem::FieldEvaluator< FESpace_t, VecLayout_t, IR, complex_t, real_t >::qpts = IR::qpts
static

Definition at line 997 of file tevaluator.hpp.

template<typename FESpace_t , typename VecLayout_t , typename IR , typename complex_t = double, typename real_t = double>
const int mfem::FieldEvaluator< FESpace_t, VecLayout_t, IR, complex_t, real_t >::vdim = VecLayout_t::vec_dim
static

Definition at line 998 of file tevaluator.hpp.


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