OGS
GMatrixPolicy.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
8
9namespace ProcessLib
10{
13template <typename ShapeFunction, int DisplacementDim>
15{
16private:
19 template <int N>
21 ShapeFunction, DisplacementDim>::template VectorType<N>;
22
24 template <int N, int M>
26 ShapeFunction, DisplacementDim>::template MatrixType<N, M>;
27
28 // Dimensions of specific b-matrix for n-points and displacement dimension.
29 static int const _number_of_dof = ShapeFunction::NPOINTS * DisplacementDim;
30
31public:
32 // For the 2D case the 33-component is needed (and the four entries
33 // of the non-symmetric matrix); In 3d there are nine entries.
39};
40} // namespace ProcessLib
EigenFixedShapeMatrixPolicy< ShapeFunction, GlobalDim > ShapeMatrixPolicyType
typename EigenFixedShapeMatrixPolicy< ShapeFunction, DisplacementDim >::template VectorType< N > VectorTypeFixedSize
static int const _number_of_dof
VectorTypeFixedSize< MathLib::VectorizedTensor::size(DisplacementDim)> GradientVectorType
typename ShapeMatrixPolicyType< ShapeFunction, DisplacementDim >::template MatrixType< N, M > MatrixType
Reusing the ShapeMatrixPolicy matrix type.
MatrixType< MathLib::VectorizedTensor::size(DisplacementDim), _number_of_dof > GradientMatrixType
constexpr int size(int const displacement_dim)
Vectorized tensor size for given displacement dimension.