|
FEAT 3
Finite Element Analysis Toolbox
|
Trafo Evaluator CRTP base-class template. More...
#include <evaluator_base.hpp>
Classes | |
| struct | ConfigTraits |
| Trafo configuration traits class template. More... | |
Public Types | |
| typedef Index | CellIterator |
| CellIterator typedef. More... | |
| typedef EvalPolicy::DataType | DataType |
| evaluation data type More... | |
| typedef EvalPolicy::DomainPointType | DomainPointType |
| domain point type More... | |
| typedef EvalPolicy_ | EvalPolicy |
| evaluation policy More... | |
| typedef EvalPolicy_ | EvalTraits |
| evaluation traits; identical to eval policy More... | |
| typedef EvalPolicy::HessianInverseType | HessianInverseType |
| hessian inverse tensor type More... | |
| typedef EvalPolicy::HessianTensorType | HessianTensorType |
| hessian tensor type More... | |
| typedef EvalPolicy::ImagePointType | ImagePointType |
| image point type More... | |
| typedef EvalPolicy::JacobianDeterminantType | JacobianDeterminantType |
| jacobian determinant type More... | |
| typedef EvalPolicy::JacobianInverseType | JacobianInverseType |
| jacobian inverse matrix type More... | |
| typedef EvalPolicy::JacobianMatrixType | JacobianMatrixType |
| jacobian matrix type More... | |
| typedef TrafoType::ShapeType | ShapeType |
| shape type More... | |
| typedef Trafo_ | TrafoType |
| trafo type More... | |
Public Member Functions | |
| CellIterator | begin () const |
| Returns a CellIterator representing the index of the first cell. More... | |
| void | calc_hess_ten (HessianTensorType &hess_ten, const DomainPointType &dom_point) const |
| Computes the hessian tensor for a given domain point. More... | |
| void | calc_jac_mat (JacobianMatrixType &jac_mat, const DomainPointType &dom_point) const |
| Computes the jacobian matrix for a given domain point. More... | |
| CellIterator | end () const |
| Returns a CellIterator representing the first index past the last cell. More... | |
| void | finish () |
| Finishes the evaluator for the currently active cell. More... | |
| Index | get_cell_index () const |
| Returns the index of the currently active cell. More... | |
| Index | get_num_cells () const |
| Returns the number of cells in the mesh. More... | |
| const TrafoType & | get_trafo () const |
| Returns a reference to the trafo object. More... | |
| void | map_point (ImagePointType &img_point, const DomainPointType &dom_point) const |
| Maps a domain point from the reference cell to the currently active cell. More... | |
| template<TrafoTags cfg_> | |
| void | operator() (Trafo::EvalData< EvalTraits, cfg_ > &trafo_data, const DomainPointType &dom_point) const |
| Trafo evaluation operator. More... | |
| void | prepare (const CellIterator &cell) |
| Prepares the evaluator for a given cell. More... | |
| DataType | volume () const |
| Computes and returns the volume of the current cell. More... | |
| DataType | width_directed (const ImagePointType &ray) const |
| Computes and returns the directed mesh width. More... | |
Static Public Attributes | |
| static constexpr int | domain_dim = EvalPolicy::domain_dim |
| domain dimension More... | |
| static constexpr TrafoTags | eval_caps = ... |
| static constexpr int | image_dim = EvalPolicy::image_dim |
| image dimension More... | |
Protected Member Functions | |
| EvaluatorBase (const TrafoType &trafo) | |
| constructor More... | |
Protected Attributes | |
| Index | _cell_index |
| currently active cell index More... | |
| const TrafoType & | _trafo |
| trafo reference More... | |
Trafo Evaluator CRTP base-class template.
This class template is a CRTP base class used by various transformation evaluators to outsource common wrapper code which is independent of the actual transformation in use.
| Evaluator_ | The evaluator class that derives from this class template. |
| EvalPolicy_ | The evaluation policy of the trafo evaluator. |
Definition at line 41 of file evaluator_base.hpp.
| typedef Index FEAT::Trafo::EvaluatorBase< Trafo_, Evaluator_, EvalPolicy_ >::CellIterator |
CellIterator typedef.
Definition at line 78 of file evaluator_base.hpp.
| typedef EvalPolicy::DataType FEAT::Trafo::EvaluatorBase< Trafo_, Evaluator_, EvalPolicy_ >::DataType |
evaluation data type
Definition at line 56 of file evaluator_base.hpp.
| typedef EvalPolicy::DomainPointType FEAT::Trafo::EvaluatorBase< Trafo_, Evaluator_, EvalPolicy_ >::DomainPointType |
domain point type
Definition at line 58 of file evaluator_base.hpp.
| typedef EvalPolicy_ FEAT::Trafo::EvaluatorBase< Trafo_, Evaluator_, EvalPolicy_ >::EvalPolicy |
evaluation policy
Definition at line 50 of file evaluator_base.hpp.
| typedef EvalPolicy_ FEAT::Trafo::EvaluatorBase< Trafo_, Evaluator_, EvalPolicy_ >::EvalTraits |
evaluation traits; identical to eval policy
Definition at line 53 of file evaluator_base.hpp.
| typedef EvalPolicy::HessianInverseType FEAT::Trafo::EvaluatorBase< Trafo_, Evaluator_, EvalPolicy_ >::HessianInverseType |
hessian inverse tensor type
Definition at line 70 of file evaluator_base.hpp.
| typedef EvalPolicy::HessianTensorType FEAT::Trafo::EvaluatorBase< Trafo_, Evaluator_, EvalPolicy_ >::HessianTensorType |
hessian tensor type
Definition at line 68 of file evaluator_base.hpp.
| typedef EvalPolicy::ImagePointType FEAT::Trafo::EvaluatorBase< Trafo_, Evaluator_, EvalPolicy_ >::ImagePointType |
image point type
Definition at line 60 of file evaluator_base.hpp.
| typedef EvalPolicy::JacobianDeterminantType FEAT::Trafo::EvaluatorBase< Trafo_, Evaluator_, EvalPolicy_ >::JacobianDeterminantType |
jacobian determinant type
Definition at line 66 of file evaluator_base.hpp.
| typedef EvalPolicy::JacobianInverseType FEAT::Trafo::EvaluatorBase< Trafo_, Evaluator_, EvalPolicy_ >::JacobianInverseType |
jacobian inverse matrix type
Definition at line 64 of file evaluator_base.hpp.
| typedef EvalPolicy::JacobianMatrixType FEAT::Trafo::EvaluatorBase< Trafo_, Evaluator_, EvalPolicy_ >::JacobianMatrixType |
jacobian matrix type
Definition at line 62 of file evaluator_base.hpp.
| typedef TrafoType::ShapeType FEAT::Trafo::EvaluatorBase< Trafo_, Evaluator_, EvalPolicy_ >::ShapeType |
shape type
Definition at line 47 of file evaluator_base.hpp.
| typedef Trafo_ FEAT::Trafo::EvaluatorBase< Trafo_, Evaluator_, EvalPolicy_ >::TrafoType |
trafo type
Definition at line 45 of file evaluator_base.hpp.
|
inlineexplicitprotected |
constructor
Definition at line 146 of file evaluator_base.hpp.
|
inline |
Returns a CellIterator representing the index of the first cell.
Definition at line 164 of file evaluator_base.hpp.
| void FEAT::Trafo::EvaluatorBase< Trafo_, Evaluator_, EvalPolicy_ >::calc_hess_ten | ( | HessianTensorType & | hess_ten, |
| const DomainPointType & | dom_point | ||
| ) | const |
Computes the hessian tensor for a given domain point.
| [out] | hess_ten | A reference to the hessian tensor that is to be computed. |
| [in] | dom_point | A reference to the domain point on the reference cell for which the hessian tensor is to be computed. |
| void FEAT::Trafo::EvaluatorBase< Trafo_, Evaluator_, EvalPolicy_ >::calc_jac_mat | ( | JacobianMatrixType & | jac_mat, |
| const DomainPointType & | dom_point | ||
| ) | const |
Computes the jacobian matrix for a given domain point.
| [out] | jac_mat | A reference to the jacobian matrix that is to be computed. |
| [in] | dom_point | A reference to the domain point on the reference cell for which the jacobian matrix is to be computed. |
|
inline |
Returns a CellIterator representing the first index past the last cell.
Definition at line 172 of file evaluator_base.hpp.
References FEAT::Trafo::EvaluatorBase< Trafo_, Evaluator_, EvalPolicy_ >::get_num_cells().
|
inline |
Finishes the evaluator for the currently active cell.
Definition at line 211 of file evaluator_base.hpp.
References FEAT::Trafo::EvaluatorBase< Trafo_, Evaluator_, EvalPolicy_ >::_cell_index.
Referenced by FEAT::Trafo::Standard::Mapping< Mesh_ >::compute_vol().
|
inline |
Returns the index of the currently active cell.
Definition at line 191 of file evaluator_base.hpp.
References FEAT::Trafo::EvaluatorBase< Trafo_, Evaluator_, EvalPolicy_ >::_cell_index.
|
inline |
Returns the number of cells in the mesh.
Definition at line 183 of file evaluator_base.hpp.
References FEAT::Trafo::EvaluatorBase< Trafo_, Evaluator_, EvalPolicy_ >::_trafo, and FEAT::Trafo::EvaluatorBase< Trafo_, Evaluator_, EvalPolicy_ >::domain_dim.
Referenced by FEAT::Trafo::EvaluatorBase< Trafo_, Evaluator_, EvalPolicy_ >::end().
|
inline |
Returns a reference to the trafo object.
Definition at line 156 of file evaluator_base.hpp.
References FEAT::Trafo::EvaluatorBase< Trafo_, Evaluator_, EvalPolicy_ >::_trafo.
| void FEAT::Trafo::EvaluatorBase< Trafo_, Evaluator_, EvalPolicy_ >::map_point | ( | ImagePointType & | img_point, |
| const DomainPointType & | dom_point | ||
| ) | const |
Maps a domain point from the reference cell to the currently active cell.
| [out] | img_point | A reference to the image point on the active cell that is to be computed. |
| [in] | dom_point | A reference to the domain point on the reference cell that is to be mapped. |
|
inline |
Trafo evaluation operator.
| [out] | trafo_data | A reference to the trafo data that is to be computed. |
| [in] | dom_point | A reference to the domain point on the reference cell in which the trafo is to be evaluated. |
Definition at line 229 of file evaluator_base.hpp.
References FEAT::dom_point, FEAT::hess_inv, FEAT::hess_ten, FEAT::img_point, FEAT::jac_det, FEAT::jac_inv, and FEAT::jac_mat.
|
inline |
Prepares the evaluator for a given cell.
| [in] | cell | The index of the cell for which the evaluator is to be prepared. |
Definition at line 202 of file evaluator_base.hpp.
References FEAT::Trafo::EvaluatorBase< Trafo_, Evaluator_, EvalPolicy_ >::_cell_index.
Referenced by FEAT::Trafo::Standard::Evaluator< Trafo_, EvalPolicy_, Shape_ >::prepare(), and FEAT::Trafo::Standard::Evaluator< Trafo_, EvalPolicy_, Shape::Vertex >::prepare().
| DataType FEAT::Trafo::EvaluatorBase< Trafo_, Evaluator_, EvalPolicy_ >::volume | ( | ) | const |
Computes and returns the volume of the current cell.
| DataType FEAT::Trafo::EvaluatorBase< Trafo_, Evaluator_, EvalPolicy_ >::width_directed | ( | const ImagePointType & | ray | ) | const |
Computes and returns the directed mesh width.
The usual internal implementation of this function returns the following expression:
\[ L\cdot \| J_\tau^{-1} \cdot v \|_2^{-1} \]
where
| [in] | ray | A (normalized) direction vector. Must not be a null vector. |
|
protected |
currently active cell index
Definition at line 143 of file evaluator_base.hpp.
Referenced by FEAT::Trafo::EvaluatorBase< Trafo_, Evaluator_, EvalPolicy_ >::finish(), FEAT::Trafo::EvaluatorBase< Trafo_, Evaluator_, EvalPolicy_ >::get_cell_index(), and FEAT::Trafo::EvaluatorBase< Trafo_, Evaluator_, EvalPolicy_ >::prepare().
|
protected |
trafo reference
Definition at line 140 of file evaluator_base.hpp.
Referenced by FEAT::Trafo::EvaluatorBase< Trafo_, Evaluator_, EvalPolicy_ >::get_num_cells(), FEAT::Trafo::EvaluatorBase< Trafo_, Evaluator_, EvalPolicy_ >::get_trafo(), FEAT::Trafo::Standard::Evaluator< Trafo_, EvalPolicy_, Shape_ >::prepare(), and FEAT::Trafo::Standard::Evaluator< Trafo_, EvalPolicy_, Shape::Vertex >::prepare().
|
staticconstexpr |
domain dimension
Definition at line 73 of file evaluator_base.hpp.
Referenced by FEAT::Trafo::EvaluatorBase< Trafo_, Evaluator_, EvalPolicy_ >::get_num_cells().
|
staticconstexpr |
Definition at line 84 of file evaluator_base.hpp.
|
staticconstexpr |
image dimension
Definition at line 75 of file evaluator_base.hpp.