FEAT 3
Finite Element Analysis Toolbox
Loading...
Searching...
No Matches
base.hpp
1// FEAT3: Finite Element Analysis Toolbox, Version 3
2// Copyright (C) 2010 by Stefan Turek & the FEAT group
3// FEAT3 is released under the GNU General Public License version 3,
4// see the file 'copyright.txt' in the top level directory for details.
5
6#pragma once
7
8// includes, FEAT
10#include <kernel/eval_tags.hpp>
11#include <kernel/util/tiny_algebra.hpp>
12
13namespace FEAT
14{
20 namespace Space
21 {
38 template<
39 typename EvalPolicy_,
40 int max_local_dofs_,
41 typename DataType_ = typename EvalPolicy_::DataType>
43 public EvalPolicy_
44 {
45 public:
47 typedef EvalPolicy_ EvalPolicy;
48
50 typedef DataType_ DataType;
51
53 static constexpr int domain_dim = EvalPolicy::domain_dim;
55 static constexpr int image_dim = EvalPolicy::image_dim;
57 static constexpr int max_local_dofs = max_local_dofs_;
58
63
68
73 }; // class StandardScalarEvalTraits<...>
74
91 template<
92 typename EvalPolicy_,
93 int max_local_dofs_,
94 typename DataType_ = typename EvalPolicy_::DataType>
96 public EvalPolicy_
97 {
98 public:
100 typedef EvalPolicy_ EvalPolicy;
101
103 typedef DataType_ DataType;
104
106 static constexpr int domain_dim = EvalPolicy::domain_dim;
108 static constexpr int image_dim = EvalPolicy::image_dim;
110 static constexpr int max_local_dofs = max_local_dofs_;
111
116
121
126 }; // class StandardVectorEvalTraits<...>
127 } // namespace Space
128} // namespace FEAT
FEAT Kernel base header.
Standard scalar evaluator traits class template.
Definition: base.hpp:44
static constexpr int image_dim
image dimension
Definition: base.hpp:55
static constexpr int domain_dim
domain dimension
Definition: base.hpp:53
DataType BasisReferenceValueType
basis function value type on reference element
Definition: base.hpp:62
Tiny::Vector< DataType, image_dim > BasisGradientType
basis gradient type
Definition: base.hpp:65
Tiny::Matrix< DataType, image_dim, image_dim > BasisHessianType
basis hessian matrix type
Definition: base.hpp:70
Tiny::Matrix< DataType, domain_dim, domain_dim > BasisReferenceHessianType
basis hessian type on reference element
Definition: base.hpp:72
Tiny::Vector< DataType, domain_dim > BasisReferenceGradientType
basis gradient type on reference element
Definition: base.hpp:67
EvalPolicy_ EvalPolicy
evaluation policy typedef
Definition: base.hpp:47
static constexpr int max_local_dofs
maximum number of local dofs
Definition: base.hpp:57
DataType_ DataType
evaluation data type
Definition: base.hpp:50
DataType BasisValueType
basis function value type
Definition: base.hpp:60
Standard vector evaluator traits class template.
Definition: base.hpp:97
Tiny::Tensor3< DataType, image_dim, image_dim, image_dim > BasisHessianType
basis hessian type
Definition: base.hpp:123
DataType_ DataType
evaluation data type
Definition: base.hpp:103
Tiny::Matrix< DataType, image_dim, image_dim > BasisGradientType
basis gradient type
Definition: base.hpp:118
EvalPolicy_ EvalPolicy
evaluation policy typedef
Definition: base.hpp:100
static constexpr int image_dim
image dimension
Definition: base.hpp:108
static constexpr int domain_dim
domain dimension
Definition: base.hpp:106
Tiny::Vector< DataType, domain_dim > BasisReferenceValueType
basis function value type on reference element
Definition: base.hpp:115
static constexpr int max_local_dofs
maximum number of local dofs
Definition: base.hpp:110
Tiny::Matrix< DataType, domain_dim, domain_dim > BasisReferenceGradientType
basis gradient type on reference element
Definition: base.hpp:120
Tiny::Tensor3< DataType, domain_dim, domain_dim, domain_dim > BasisReferenceHessianType
basis hessian type on reference element
Definition: base.hpp:125
Tiny::Vector< DataType, image_dim > BasisValueType
basis function value type
Definition: base.hpp:113
Tiny Matrix class template.
Tiny Tensor3 class template.
Tiny Vector class template.
FEAT namespace.
Definition: adjactor.hpp:12