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. More...
 
using KelvinVectorType = VectorType< _kelvin_vector_size >
 
using KelvinMatrixType = MatrixType< _kelvin_vector_size, _kelvin_vector_size >
 
using BMatrixType = MatrixType< _kelvin_vector_size, _number_of_dof >
 

Private Types

template<int N>
using VectorType = typename ShapeMatrixPolicyType< ShapeFunction, DisplacementDim >::template VectorType< N >
 Reusing the ShapeMatrixPolicy vector type. More...
 
template<int N, int M>
using MatrixType = typename ShapeMatrixPolicyType< ShapeFunction, DisplacementDim >::template MatrixType< N, M >
 Reusing the ShapeMatrixPolicy matrix type. More...
 

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 = 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 = typename ShapeMatrixPolicyType< ShapeFunction, DisplacementDim>::template MatrixType<N, M>
private

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 = typename ShapeMatrixPolicyType<ShapeFunction, DisplacementDim>::template VectorType<N>
private

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: KelvinVector.h:23

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: