OGS
NaturalCoordinatesMapping.h
Go to the documentation of this file.
1
13#pragma once
14
15#include "ShapeMatrices.h"
16
17namespace MeshLib
18{
19class Element;
20}
21
22namespace NumLib
23{
24namespace detail
25{
27template <class T_SHAPE_FUNC,
28 class T_SHAPE_MATRICES,
29 ShapeMatrixType T_SHAPE_MATRIX_TYPE>
31 const double* natural_pt,
32 T_SHAPE_MATRICES& shapemat,
33 const unsigned global_dim);
34} // namespace detail
35
46template <class T_SHAPE_FUNC, class T_SHAPE_MATRICES>
48{
58 static void computeShapeMatrices(const MeshLib::Element& ele,
59 const double* natural_pt,
60 T_SHAPE_MATRICES& shapemat,
61 const unsigned global_dim)
62 {
63 computeShapeMatrices<ShapeMatrixType::ALL>(
64 ele, natural_pt, shapemat, global_dim);
65 }
66
78 template <ShapeMatrixType T_SHAPE_MATRIX_TYPE>
79 static void computeShapeMatrices(const MeshLib::Element& ele,
80 const double* natural_pt,
81 T_SHAPE_MATRICES& shapemat,
82 const unsigned global_dim)
83 {
85 T_SHAPE_FUNC,
86 T_SHAPE_MATRICES,
87 T_SHAPE_MATRIX_TYPE>(ele, natural_pt, shapemat, global_dim);
88 }
89};
90
91} // namespace NumLib
void naturalCoordinatesMappingComputeShapeMatrices(const MeshLib::Element &ele, const double *natural_pt, T_SHAPE_MATRICES &shapemat, const unsigned global_dim)
Used to explicitly instantiate the NaturalCoordinatesMapping class template.
ShapeMatrixType
Shape matrix type to be calculated.
static void computeShapeMatrices(const MeshLib::Element &ele, const double *natural_pt, T_SHAPE_MATRICES &shapemat, const unsigned global_dim)
static void computeShapeMatrices(const MeshLib::Element &ele, const double *natural_pt, T_SHAPE_MATRICES &shapemat, const unsigned global_dim)