OGS
|
Template class for isoparametric elements.
ShapeFunctionType_ | The shape function type. |
ShapeMatrixTypes_ | An aggregate of shape matrix types. |
Definition at line 32 of file TemplateIsoparametric.h.
#include <TemplateIsoparametric.h>
Public Types | |
using | ShapeFunctionType = ShapeFunctionType_ |
using | ShapeMatrices = typename ShapeMatrixTypes_::ShapeMatrices |
Coordinate mapping matrices type. | |
using | NaturalCoordsMappingType |
Public Member Functions | |
TemplateIsoparametric () | |
TemplateIsoparametric (const MeshLib::Element &e) | |
const MeshLib::Element * | getMeshElement () const |
return current mesh element | |
void | setMeshElement (const MeshLib::Element &e) |
Sets the mesh element. | |
void | computeShapeFunctions (const double *natural_pt, ShapeMatrices &shape, const unsigned global_dim, bool is_axially_symmetric) const |
template<ShapeMatrixType T_SHAPE_MATRIX_TYPE> | |
void | computeShapeFunctions (const double *natural_pt, ShapeMatrices &shape, const unsigned global_dim, bool is_axially_symmetric) const |
double | interpolateZerothCoordinate (typename ShapeMatrices::ShapeType const &N) const |
std::array< double, 3 > | interpolateCoordinates (typename ShapeMatrices::ShapeType const &N) const |
Interpolates the coordinates of the element with the given shape matrix. | |
Private Member Functions | |
void | computeIntegralMeasure (bool is_axially_symmetric, ShapeMatrices &shape) const |
Private Attributes | |
const MeshLib::Element * | _ele |
using NumLib::TemplateIsoparametric< ShapeFunctionType_, ShapeMatrixTypes_ >::NaturalCoordsMappingType |
Natural coordinates mapping tools specialization for specific MeshElement and ShapeFunction types.
Definition at line 42 of file TemplateIsoparametric.h.
using NumLib::TemplateIsoparametric< ShapeFunctionType_, ShapeMatrixTypes_ >::ShapeFunctionType = ShapeFunctionType_ |
Definition at line 35 of file TemplateIsoparametric.h.
using NumLib::TemplateIsoparametric< ShapeFunctionType_, ShapeMatrixTypes_ >::ShapeMatrices = typename ShapeMatrixTypes_::ShapeMatrices |
Coordinate mapping matrices type.
Definition at line 38 of file TemplateIsoparametric.h.
|
inline |
Constructor without specifying a mesh element. setMeshElement() must be called afterwards.
Definition at line 49 of file TemplateIsoparametric.h.
|
inlineexplicit |
Construct this object for the given mesh element.
e | Mesh element object |
Definition at line 56 of file TemplateIsoparametric.h.
|
inlineprivate |
Definition at line 135 of file TemplateIsoparametric.h.
References NumLib::TemplateIsoparametric< ShapeFunctionType_, ShapeMatrixTypes_ >::interpolateZerothCoordinate().
Referenced by NumLib::TemplateIsoparametric< ShapeFunctionType_, ShapeMatrixTypes_ >::computeShapeFunctions().
|
inline |
compute shape functions
natural_pt | position in natural coordinates |
shape | evaluated shape function matrices |
global_dim | global dimension |
is_axially_symmetric | if true, the integral measure for cylinder coordinates is used, and 1 otherwise. |
Definition at line 72 of file TemplateIsoparametric.h.
References NumLib::TemplateIsoparametric< ShapeFunctionType_, ShapeMatrixTypes_ >::_ele, NumLib::TemplateIsoparametric< ShapeFunctionType_, ShapeMatrixTypes_ >::computeIntegralMeasure(), and NumLib::NaturalCoordinatesMapping< T_SHAPE_FUNC, T_SHAPE_MATRICES >::computeShapeMatrices().
|
inline |
compute shape functions
T_SHAPE_MATRIX_TYPE | shape matrix types to be calculated |
natural_pt | position in natural coordinates |
shape | evaluated shape function matrices |
global_dim | global dimension |
is_axially_symmetric | if true, the integral measure for cylinder coordinates is used, and 1 otherwise. |
Definition at line 92 of file TemplateIsoparametric.h.
References NumLib::TemplateIsoparametric< ShapeFunctionType_, ShapeMatrixTypes_ >::_ele, NumLib::TemplateIsoparametric< ShapeFunctionType_, ShapeMatrixTypes_ >::computeIntegralMeasure(), and NumLib::computeShapeMatrices().
|
inline |
return current mesh element
Definition at line 59 of file TemplateIsoparametric.h.
References NumLib::TemplateIsoparametric< ShapeFunctionType_, ShapeMatrixTypes_ >::_ele.
|
inline |
Interpolates the coordinates of the element with the given shape matrix.
Definition at line 117 of file TemplateIsoparametric.h.
References NumLib::TemplateIsoparametric< ShapeFunctionType_, ShapeMatrixTypes_ >::_ele, MeshLib::Element::getNodes(), and NumLib::N.
|
inline |
Interpolates the x coordinate of the element with the given shape matrix.
Definition at line 103 of file TemplateIsoparametric.h.
References NumLib::TemplateIsoparametric< ShapeFunctionType_, ShapeMatrixTypes_ >::_ele, MeshLib::Element::getNodes(), and NumLib::N.
Referenced by NumLib::TemplateIsoparametric< ShapeFunctionType_, ShapeMatrixTypes_ >::computeIntegralMeasure().
|
inline |
Sets the mesh element.
Definition at line 62 of file TemplateIsoparametric.h.
References NumLib::TemplateIsoparametric< ShapeFunctionType_, ShapeMatrixTypes_ >::_ele.
|
private |
Definition at line 154 of file TemplateIsoparametric.h.
Referenced by NumLib::TemplateIsoparametric< ShapeFunctionType_, ShapeMatrixTypes_ >::computeShapeFunctions(), NumLib::TemplateIsoparametric< ShapeFunctionType_, ShapeMatrixTypes_ >::getMeshElement(), NumLib::TemplateIsoparametric< ShapeFunctionType_, ShapeMatrixTypes_ >::interpolateCoordinates(), NumLib::TemplateIsoparametric< ShapeFunctionType_, ShapeMatrixTypes_ >::interpolateZerothCoordinate(), and NumLib::TemplateIsoparametric< ShapeFunctionType_, ShapeMatrixTypes_ >::setMeshElement().