OGS
ProcessLib::BMatrixPolicyType< ShapeFunction, DisplacementDim > Class Template Reference

Detailed Description

template<typename ShapeFunction, int DisplacementDim>
class ProcessLib::BMatrixPolicyType< ShapeFunction, DisplacementDim >

An implementation of B-Matrix policy using same matrix and vector types (fixed size or dynamic) as in the ShapeMatrixPolicyType.

Definition at line 21 of file BMatrixPolicy.h.

#include <BMatrixPolicy.h>

Public Types

using StiffnessMatrixType = MatrixType<_number_of_dof, _number_of_dof>
 
using NodalForceVectorType = VectorType<_number_of_dof>
 Rhs residual.
 
using KelvinVectorType = VectorType<_kelvin_vector_size>
 
using KelvinMatrixType
 
using BMatrixType = MatrixType<_kelvin_vector_size, _number_of_dof>
 

Private Types

template<int N>
using VectorType
 Reusing the ShapeMatrixPolicy vector type.
 
template<int N, int M>
using MatrixType
 Reusing the ShapeMatrixPolicy matrix type.
 

Static Private Attributes

static int const _number_of_dof = ShapeFunction::NPOINTS * DisplacementDim
 
static int const _kelvin_vector_size
 

Member Typedef Documentation

◆ BMatrixType

template<typename ShapeFunction , int DisplacementDim>
using ProcessLib::BMatrixPolicyType< ShapeFunction, DisplacementDim >::BMatrixType = MatrixType<_kelvin_vector_size, _number_of_dof>

Definition at line 55 of file BMatrixPolicy.h.

◆ KelvinMatrixType

template<typename ShapeFunction , int DisplacementDim>
using ProcessLib::BMatrixPolicyType< ShapeFunction, DisplacementDim >::KelvinMatrixType
Initial value:
MatrixType<_kelvin_vector_size, _kelvin_vector_size>

This type can be different (fixed vs. dynamic size) from the MathLib::KelvinVector::KelvinMatrixType.

Definition at line 52 of file BMatrixPolicy.h.

◆ KelvinVectorType

template<typename ShapeFunction , int DisplacementDim>
using ProcessLib::BMatrixPolicyType< ShapeFunction, DisplacementDim >::KelvinVectorType = VectorType<_kelvin_vector_size>

This type can be different (fixed vs. dynamic size) from the MathLib::KelvinVector::KelvinVectorType.

Definition at line 48 of file BMatrixPolicy.h.

◆ MatrixType

template<typename ShapeFunction , int DisplacementDim>
template<int N, int M>
using ProcessLib::BMatrixPolicyType< ShapeFunction, DisplacementDim >::MatrixType
private
Initial value:
ShapeFunction, DisplacementDim>::template MatrixType<N, M>

Reusing the ShapeMatrixPolicy matrix type.

Definition at line 32 of file BMatrixPolicy.h.

◆ NodalForceVectorType

template<typename ShapeFunction , int DisplacementDim>
using ProcessLib::BMatrixPolicyType< ShapeFunction, DisplacementDim >::NodalForceVectorType = VectorType<_number_of_dof>

Rhs residual.

Definition at line 44 of file BMatrixPolicy.h.

◆ StiffnessMatrixType

template<typename ShapeFunction , int DisplacementDim>
using ProcessLib::BMatrixPolicyType< ShapeFunction, DisplacementDim >::StiffnessMatrixType = MatrixType<_number_of_dof, _number_of_dof>

Definition at line 41 of file BMatrixPolicy.h.

◆ VectorType

template<typename ShapeFunction , int DisplacementDim>
template<int N>
using ProcessLib::BMatrixPolicyType< ShapeFunction, DisplacementDim >::VectorType
private
Initial value:
typename ShapeMatrixPolicyType<ShapeFunction,
DisplacementDim>::template VectorType<N>

Reusing the ShapeMatrixPolicy vector type.

Definition at line 26 of file BMatrixPolicy.h.

Member Data Documentation

◆ _kelvin_vector_size

template<typename ShapeFunction , int DisplacementDim>
int const ProcessLib::BMatrixPolicyType< ShapeFunction, DisplacementDim >::_kelvin_vector_size
staticprivate
Initial value:
=
constexpr int kelvin_vector_dimensions(int const displacement_dim)
Kelvin vector dimensions for given displacement dimension.

Definition at line 37 of file BMatrixPolicy.h.

◆ _number_of_dof

template<typename ShapeFunction , int DisplacementDim>
int const ProcessLib::BMatrixPolicyType< ShapeFunction, DisplacementDim >::_number_of_dof = ShapeFunction::NPOINTS * DisplacementDim
staticprivate

Definition at line 36 of file BMatrixPolicy.h.


The documentation for this class was generated from the following file: