| 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.