OGS
BMatrixPolicy.h
Go to the documentation of this file.
1 
11 #pragma once
12 
13 #include "MathLib/KelvinVector.h"
15 
16 namespace ProcessLib
17 {
20 template <typename ShapeFunction, int DisplacementDim>
22 {
23 private:
25  template <int N>
26  using VectorType =
27  typename ShapeMatrixPolicyType<ShapeFunction,
28  DisplacementDim>::template VectorType<N>;
29 
31  template <int N, int M>
33  ShapeFunction, DisplacementDim>::template MatrixType<N, M>;
34 
35  // Dimensions of specific b-matrix for n-points and displacement dimension.
36  static int const _number_of_dof = ShapeFunction::NPOINTS * DisplacementDim;
37  static int const _kelvin_vector_size =
39 
40 public:
42 
45 
49 
54 
56 };
57 } // namespace ProcessLib
MatrixType< _kelvin_vector_size, _number_of_dof > BMatrixType
Definition: BMatrixPolicy.h:55
static int const _number_of_dof
Definition: BMatrixPolicy.h:36
typename ShapeMatrixPolicyType< ShapeFunction, DisplacementDim >::template MatrixType< N, M > MatrixType
Reusing the ShapeMatrixPolicy matrix type.
Definition: BMatrixPolicy.h:33
typename ShapeMatrixPolicyType< ShapeFunction, DisplacementDim >::template VectorType< N > VectorType
Reusing the ShapeMatrixPolicy vector type.
Definition: BMatrixPolicy.h:28
MatrixType< _kelvin_vector_size, _kelvin_vector_size > KelvinMatrixType
Definition: BMatrixPolicy.h:53
MatrixType< _number_of_dof, _number_of_dof > StiffnessMatrixType
Definition: BMatrixPolicy.h:41
static int const _kelvin_vector_size
Definition: BMatrixPolicy.h:37
VectorType< _number_of_dof > NodalForceVectorType
Rhs residual.
Definition: BMatrixPolicy.h:44
VectorType< _kelvin_vector_size > KelvinVectorType
Definition: BMatrixPolicy.h:48
constexpr int kelvin_vector_dimensions(int const displacement_dim)
Kelvin vector dimensions for given displacement dimension.
Definition: KelvinVector.h:23