Revision a76943b4cb8836eec2122d136a69e4ee1b030fec authored by Tom Fischer on 07 July 2021, 07:30:50 UTC, committed by Tom Fischer on 07 July 2021, 07:30:50 UTC
[PL] Use int type for GlobalDim template argument. See merge request ogs/ogs!3692
BMatrixPolicy.h
/**
* \file
* \copyright
* Copyright (c) 2012-2021, OpenGeoSys Community (http://www.opengeosys.org)
* Distributed under a Modified BSD License.
* See accompanying file LICENSE.txt or
* http://www.opengeosys.org/project/license
*
*/
#pragma once
#include "MathLib/KelvinVector.h"
#include "NumLib/Fem/ShapeMatrixPolicy.h"
namespace ProcessLib
{
/// An implementation of B-Matrix policy using same matrix and vector types
/// (fixed size or dynamic) as in the ShapeMatrixPolicyType.
template <typename ShapeFunction, int DisplacementDim>
class BMatrixPolicyType
{
private:
/// Reusing the ShapeMatrixPolicy vector type.
template <int N>
using VectorType =
typename ShapeMatrixPolicyType<ShapeFunction,
DisplacementDim>::template VectorType<N>;
/// Reusing the ShapeMatrixPolicy matrix type.
template <int N, int M>
using MatrixType = typename ShapeMatrixPolicyType<
ShapeFunction, DisplacementDim>::template MatrixType<N, M>;
// Dimensions of specific b-matrix for n-points and displacement dimension.
static int const _number_of_dof = ShapeFunction::NPOINTS * DisplacementDim;
static int const _kelvin_vector_size =
MathLib::KelvinVector::kelvin_vector_dimensions(DisplacementDim);
public:
using StiffnessMatrixType = MatrixType<_number_of_dof, _number_of_dof>;
/// Rhs residual
using NodalForceVectorType = VectorType<_number_of_dof>;
/// This type can be different (fixed vs. dynamic size) from the
/// MathLib::KelvinVector::KelvinVectorType.
using KelvinVectorType = VectorType<_kelvin_vector_size>;
/// This type can be different (fixed vs. dynamic size) from the
/// MathLib::KelvinVector::KelvinMatrixType.
using KelvinMatrixType =
MatrixType<_kelvin_vector_size, _kelvin_vector_size>;
using BMatrixType = MatrixType<_kelvin_vector_size, _number_of_dof>;
};
} // namespace ProcessLib
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...