OGS
NaturalCoordinatesMapping.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) OpenGeoSys Community (opengeosys.org)
2// SPDX-License-Identifier: BSD-3-Clause
3
4#pragma once
5
6#include "ShapeMatrices.h"
7
8namespace MeshLib
9{
10class Element;
11}
12
13namespace NumLib
14{
15namespace detail
16{
18template <class T_SHAPE_FUNC,
19 class T_SHAPE_MATRICES,
20 ShapeMatrixType T_SHAPE_MATRIX_TYPE>
21void naturalCoordinatesMappingComputeShapeMatrices(const MeshLib::Element& ele,
22 const double* natural_pt,
23 T_SHAPE_MATRICES& shapemat,
24 const unsigned global_dim);
25} // namespace detail
26
37template <class T_SHAPE_FUNC, class T_SHAPE_MATRICES>
39{
49 static void computeShapeMatrices(const MeshLib::Element& ele,
50 const double* natural_pt,
51 T_SHAPE_MATRICES& shapemat,
52 const unsigned global_dim)
53 {
55 ele, natural_pt, shapemat, global_dim);
56 }
57
69 template <ShapeMatrixType T_SHAPE_MATRIX_TYPE>
70 static void computeShapeMatrices(const MeshLib::Element& ele,
71 const double* natural_pt,
72 T_SHAPE_MATRICES& shapemat,
73 const unsigned global_dim)
74 {
76 T_SHAPE_FUNC,
77 T_SHAPE_MATRICES,
78 T_SHAPE_MATRIX_TYPE>(ele, natural_pt, shapemat, global_dim);
79 }
80};
81
82} // 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)