MFEM v4.7.0
Finite element discretization library
|
complex_t - dof/qpt data type, real_t - ShapeEvaluator (FE basis) data type More...
#include <tevaluator.hpp>
Classes | |
struct | Action |
This struct implements the input (Eval, EvalSerialized) and output (Assemble, AssembleSerialized) operations for the given Ops. Ops is "bitwise or" of constants from the enum InOutData. More... | |
struct | Action< 0, dummy > |
struct | Action< 1, dummy > |
struct | Action< 2, dummy > |
struct | Action< 3, dummy > |
struct | AData |
Auxiliary templated struct AData, used by the Eval() and Assemble() methods. More... | |
struct | AData< 0, it_t > |
struct | AData< 1, it_t > |
struct | AData< 2, it_t > |
struct | AData< 3, it_t > |
struct | BData |
This struct is similar to struct AData, adding separate static data members for the input (InData) and output (OutData) data types. More... | |
struct | Spec |
struct | TElementMatrix |
This struct implements element matrix computation for some combinations of input (InOps) and output (OutOps) operations. More... | |
struct | TElementMatrix< 1, 1, it_t > |
struct | TElementMatrix< 2, 2, it_t > |
Public Types | |
enum | InOutData { None = 0 , Values = 1 , Gradients = 2 } |
Enumeration for the data type used by the Eval() and Assemble() methods. The types can be obtained by summing constants from this enumeration and used as a template parameter in struct Data. More... | |
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) |
With this constructor, fespace is a shallow copy of tfes. | |
MFEM_ALWAYS_INLINE | FieldEvaluator (const FieldEvaluator &f, const complex_t *global_data_in, complex_t *global_data_out) |
With this constructor, fespace is a shallow copy of f.fespace. | |
MFEM_ALWAYS_INLINE | FieldEvaluator (const FiniteElementSpace &fes, const complex_t *global_data_in, complex_t *global_data_out) |
This constructor creates a new fespace, not a shallow copy. | |
MFEM_ALWAYS_INLINE FESpace_type & | FESpace () |
MFEM_ALWAYS_INLINE ShapeEval_type & | ShapeEval () |
MFEM_ALWAYS_INLINE VecLayout_type & | VecLayout () |
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) |
val_layout_t is (qpts x vdim x NE) | |
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) |
grad_layout_t is (qpts x dim x vdim x NE) | |
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 typename DataType::vcomplex_t *loc_dofs, DataType &F) |
template<bool Add, typename DataType > | |
MFEM_ALWAYS_INLINE void | AssembleSerialized (const DataType &F, typename DataType::vcomplex_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, real_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 |
FESpace_t | fespace |
ShapeEval_type | shapeEval |
VecLayout_t | vec_layout |
Protected Attributes inherited from mfem::FieldEvaluator_base< FESpace_t, VecLayout_t, IR, real_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, real_t, real_t > | |
MFEM_ALWAYS_INLINE | FieldEvaluator_base (const FESpace_t &tfes, const ShapeEval_type &shape_eval, const VecLayout_t &vec_layout) |
With this constructor, fespace is a shallow copy. | |
MFEM_ALWAYS_INLINE | FieldEvaluator_base (const FE_type &fe, const FiniteElementSpace &fes) |
This constructor creates new fespace, not a shallow copy. | |
complex_t - dof/qpt data type, real_t - ShapeEvaluator (FE basis) data type
Definition at line 997 of file tevaluator.hpp.
|
protected |
Definition at line 1018 of file tevaluator.hpp.
typedef complex_t mfem::FieldEvaluator< FESpace_t, VecLayout_t, IR, complex_t, real_t >::complex_type |
Definition at line 1001 of file tevaluator.hpp.
typedef FESpace_t::FE_type mfem::FieldEvaluator< FESpace_t, VecLayout_t, IR, complex_t, real_t >::FE_type |
Definition at line 1003 of file tevaluator.hpp.
typedef FESpace_t mfem::FieldEvaluator< FESpace_t, VecLayout_t, IR, complex_t, real_t >::FESpace_type |
Definition at line 1002 of file tevaluator.hpp.
typedef ShapeEvaluator<FE_type,IR,real_t> mfem::FieldEvaluator< FESpace_t, VecLayout_t, IR, complex_t, real_t >::ShapeEval_type |
Definition at line 1004 of file tevaluator.hpp.
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 1008 of file tevaluator.hpp.
typedef VecLayout_t mfem::FieldEvaluator< FESpace_t, VecLayout_t, IR, complex_t, real_t >::VecLayout_type |
Definition at line 1005 of file tevaluator.hpp.
enum mfem::FieldEvaluator::InOutData |
Enumeration for the data type used by the Eval() and Assemble() methods. The types can be obtained by summing constants from this enumeration and used as a template parameter in struct Data.
Enumerator | |
---|---|
None | |
Values | |
Gradients |
Definition at line 1149 of file tevaluator.hpp.
|
inline |
With this constructor, fespace is a shallow copy of tfes.
Definition at line 1029 of file tevaluator.hpp.
|
inline |
With this constructor, fespace is a shallow copy of f.fespace.
Definition at line 1039 of file tevaluator.hpp.
|
inline |
This constructor creates a new fespace, not a shallow copy.
Definition at line 1048 of file tevaluator.hpp.
|
inline |
Definition at line 1112 of file tevaluator.hpp.
|
inline |
Definition at line 1121 of file tevaluator.hpp.
|
inline |
Definition at line 1138 of file tevaluator.hpp.
|
inline |
Definition at line 1096 of file tevaluator.hpp.
|
inline |
Definition at line 1104 of file tevaluator.hpp.
|
inline |
Definition at line 1130 of file tevaluator.hpp.
|
inline |
Definition at line 1057 of file tevaluator.hpp.
|
inline |
grad_layout_t is (qpts x dim x vdim x NE)
Definition at line 1082 of file tevaluator.hpp.
|
inline |
val_layout_t is (qpts x vdim x NE)
Definition at line 1070 of file tevaluator.hpp.
|
inline |
Definition at line 1062 of file tevaluator.hpp.
|
inline |
Definition at line 1058 of file tevaluator.hpp.
|
inline |
Definition at line 1059 of file tevaluator.hpp.
|
protected |
Definition at line 1023 of file tevaluator.hpp.
|
protected |
Definition at line 1024 of file tevaluator.hpp.
|
static |
Definition at line 1011 of file tevaluator.hpp.
|
static |
Definition at line 1010 of file tevaluator.hpp.
|
protected |
Definition at line 974 of file tevaluator.hpp.
|
static |
Definition at line 1012 of file tevaluator.hpp.
|
protected |
Definition at line 975 of file tevaluator.hpp.
|
static |
Definition at line 1013 of file tevaluator.hpp.
|
protected |
Definition at line 976 of file tevaluator.hpp.