KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
List of all members
Kratos::GeometryShapeFunctionContainer< TIntegrationMethodType > Class Template Reference

#include <geometry_shape_function_container.h>

Collaboration diagram for Kratos::GeometryShapeFunctionContainer< TIntegrationMethodType >:

Public Member Functions

Life Cycle
 GeometryShapeFunctionContainer (IntegrationMethod ThisDefaultMethod, const IntegrationPointsContainerType &ThisIntegrationPoints, const ShapeFunctionsValuesContainerType &ThisShapeFunctionsValues, const ShapeFunctionsLocalGradientsContainerType &ThisShapeFunctionsLocalGradients)
 Constructor for single integration point having the full containers. More...
 
 GeometryShapeFunctionContainer (IntegrationMethod ThisDefaultMethod, const IntegrationPointType &ThisIntegrationPoint, const Matrix &ThisShapeFunctionsValues, const Matrix &ThisShapeFunctionsGradients)
 Constructor ONLY for single integration point with first derivatives. More...
 
 GeometryShapeFunctionContainer (IntegrationMethod ThisDefaultMethod, const IntegrationPointType &ThisIntegrationPoint, const Matrix &ThisShapeFunctionsValues, const DenseVector< Matrix > &ThisShapeFunctionsDerivatives)
 Constructor ONLY for single integration point with multiple derivatives. More...
 
 GeometryShapeFunctionContainer ()
 Default Constructor. More...
 
 GeometryShapeFunctionContainer (const GeometryShapeFunctionContainer &rOther)
 Copy constructor. More...
 
virtual ~GeometryShapeFunctionContainer ()
 Destructor. Do nothing!!! More...
 
Operators
GeometryShapeFunctionContaineroperator= (const GeometryShapeFunctionContainer &rOther)
 
Integration Method
IntegrationMethod DefaultIntegrationMethod () const
 
bool HasIntegrationMethod (IntegrationMethod ThisMethod) const
 
Integration Points
SizeType IntegrationPointsNumber () const
 
SizeType IntegrationPointsNumber (IntegrationMethod ThisMethod) const
 
const IntegrationPointsArrayTypeIntegrationPoints () const
 
const IntegrationPointsArrayTypeIntegrationPoints (IntegrationMethod ThisMethod) const
 
Shape Function
const MatrixShapeFunctionsValues () const
 
const MatrixShapeFunctionsValues (IntegrationMethod ThisMethod) const
 
double ShapeFunctionValue (IndexType IntegrationPointIndex, IndexType ShapeFunctionIndex, IntegrationMethod ThisMethod) const
 
double ShapeFunctionValue (IndexType IntegrationPointIndex, IndexType ShapeFunctionIndex) const
 
const ShapeFunctionsGradientsTypeShapeFunctionsLocalGradients () const
 
const ShapeFunctionsGradientsTypeShapeFunctionsLocalGradients (IntegrationMethod ThisMethod) const
 
const MatrixShapeFunctionLocalGradient (IndexType IntegrationPointIndex) const
 
const MatrixShapeFunctionLocalGradient (IndexType IntegrationPointIndex, IntegrationMethod ThisMethod) const
 
const MatrixShapeFunctionLocalGradient (IndexType IntegrationPointIndex, IndexType ShapeFunctionIndex, IntegrationMethod ThisMethod) const
 
const MatrixShapeFunctionDerivatives (IndexType DerivativeOrderIndex, IndexType IntegrationPointIndex, IntegrationMethod ThisMethod) const
 
doubleShapeFunctionDerivativeValue (IndexType IntegrationPointIndex, IndexType DerivativeOrderIndex, IndexType DerivativeOrderRowIndex, IndexType ShapeFunctionIndex, IntegrationMethod ThisMethod)
 
Input and output
virtual std::string Info () const
 Turn back information as a string. More...
 
virtual void PrintInfo (std::ostream &rOStream) const
 Print information about this object. More...
 
virtual void PrintData (std::ostream &rOStream) const
 Print object's data. More...
 

Type Definitions

using IntegrationMethod = TIntegrationMethodType
 Defining enum of integration method. More...
 
typedef std::size_t IndexType
 Size types. More...
 
typedef std::size_t SizeType
 
typedef IntegrationPoint< 3 > IntegrationPointType
 Integration points. More...
 
typedef std::vector< IntegrationPointTypeIntegrationPointsArrayType
 
typedef std::array< IntegrationPointsArrayType, static_cast< int >IntegrationMethod::NumberOfIntegrationMethods)> IntegrationPointsContainerType
 
typedef std::array< Matrix, static_cast< int >IntegrationMethod::NumberOfIntegrationMethods)> ShapeFunctionsValuesContainerType
 Shape functions. More...
 
typedef DenseVector< MatrixShapeFunctionsGradientsType
 First derivatives/ gradients. More...
 
typedef std::array< DenseVector< Matrix >, static_cast< int >IntegrationMethod::NumberOfIntegrationMethods)> ShapeFunctionsLocalGradientsContainerType
 
typedef DenseVector< MatrixShapeFunctionsDerivativesType
 Higher order derivatives. More...
 
typedef DenseVector< ShapeFunctionsDerivativesTypeShapeFunctionsDerivativesIntegrationPointArrayType
 
typedef std::array< ShapeFunctionsDerivativesIntegrationPointArrayType, static_cast< int >IntegrationMethod::NumberOfIntegrationMethods)> ShapeFunctionsDerivativesContainerType
 
 KRATOS_CLASS_POINTER_DEFINITION (GeometryShapeFunctionContainer)
 Pointer definition of GeometryShapeFunctionContainer. More...
 

Serialization

class Serializer
 

Detailed Description

template<typename TIntegrationMethodType>
class Kratos::GeometryShapeFunctionContainer< TIntegrationMethodType >

GeometryShapeFunctionContainer. Holds the evaluated values for the shape functions and its derivatives. Needs to be templated by the IntegrationMethod to import the IntegrationMethod enum which is defined in the GeometryData.

Member Typedef Documentation

◆ IndexType

template<typename TIntegrationMethodType >
typedef std::size_t Kratos::GeometryShapeFunctionContainer< TIntegrationMethodType >::IndexType

Size types.

◆ IntegrationMethod

template<typename TIntegrationMethodType >
using Kratos::GeometryShapeFunctionContainer< TIntegrationMethodType >::IntegrationMethod = TIntegrationMethodType

Defining enum of integration method.

◆ IntegrationPointsArrayType

template<typename TIntegrationMethodType >
typedef std::vector<IntegrationPointType> Kratos::GeometryShapeFunctionContainer< TIntegrationMethodType >::IntegrationPointsArrayType

◆ IntegrationPointsContainerType

template<typename TIntegrationMethodType >
typedef std::array<IntegrationPointsArrayType, static_cast<int>IntegrationMethod::NumberOfIntegrationMethods)> Kratos::GeometryShapeFunctionContainer< TIntegrationMethodType >::IntegrationPointsContainerType

◆ IntegrationPointType

template<typename TIntegrationMethodType >
typedef IntegrationPoint<3> Kratos::GeometryShapeFunctionContainer< TIntegrationMethodType >::IntegrationPointType

Integration points.

◆ ShapeFunctionsDerivativesContainerType

◆ ShapeFunctionsDerivativesIntegrationPointArrayType

◆ ShapeFunctionsDerivativesType

template<typename TIntegrationMethodType >
typedef DenseVector<Matrix> Kratos::GeometryShapeFunctionContainer< TIntegrationMethodType >::ShapeFunctionsDerivativesType

Higher order derivatives.

◆ ShapeFunctionsGradientsType

template<typename TIntegrationMethodType >
typedef DenseVector<Matrix> Kratos::GeometryShapeFunctionContainer< TIntegrationMethodType >::ShapeFunctionsGradientsType

First derivatives/ gradients.

◆ ShapeFunctionsLocalGradientsContainerType

template<typename TIntegrationMethodType >
typedef std::array<DenseVector<Matrix>, static_cast<int>IntegrationMethod::NumberOfIntegrationMethods)> Kratos::GeometryShapeFunctionContainer< TIntegrationMethodType >::ShapeFunctionsLocalGradientsContainerType

◆ ShapeFunctionsValuesContainerType

template<typename TIntegrationMethodType >
typedef std::array<Matrix, static_cast<int>IntegrationMethod::NumberOfIntegrationMethods)> Kratos::GeometryShapeFunctionContainer< TIntegrationMethodType >::ShapeFunctionsValuesContainerType

Shape functions.

◆ SizeType

template<typename TIntegrationMethodType >
typedef std::size_t Kratos::GeometryShapeFunctionContainer< TIntegrationMethodType >::SizeType

Constructor & Destructor Documentation

◆ GeometryShapeFunctionContainer() [1/5]

template<typename TIntegrationMethodType >
Kratos::GeometryShapeFunctionContainer< TIntegrationMethodType >::GeometryShapeFunctionContainer ( IntegrationMethod  ThisDefaultMethod,
const IntegrationPointsContainerType ThisIntegrationPoints,
const ShapeFunctionsValuesContainerType ThisShapeFunctionsValues,
const ShapeFunctionsLocalGradientsContainerType ThisShapeFunctionsLocalGradients 
)
inline

Constructor for single integration point having the full containers.

◆ GeometryShapeFunctionContainer() [2/5]

template<typename TIntegrationMethodType >
Kratos::GeometryShapeFunctionContainer< TIntegrationMethodType >::GeometryShapeFunctionContainer ( IntegrationMethod  ThisDefaultMethod,
const IntegrationPointType ThisIntegrationPoint,
const Matrix ThisShapeFunctionsValues,
const Matrix ThisShapeFunctionsGradients 
)
inline

Constructor ONLY for single integration point with first derivatives.

◆ GeometryShapeFunctionContainer() [3/5]

template<typename TIntegrationMethodType >
Kratos::GeometryShapeFunctionContainer< TIntegrationMethodType >::GeometryShapeFunctionContainer ( IntegrationMethod  ThisDefaultMethod,
const IntegrationPointType ThisIntegrationPoint,
const Matrix ThisShapeFunctionsValues,
const DenseVector< Matrix > &  ThisShapeFunctionsDerivatives 
)
inline

Constructor ONLY for single integration point with multiple derivatives.

◆ GeometryShapeFunctionContainer() [4/5]

template<typename TIntegrationMethodType >
Kratos::GeometryShapeFunctionContainer< TIntegrationMethodType >::GeometryShapeFunctionContainer ( )
inline

Default Constructor.

◆ GeometryShapeFunctionContainer() [5/5]

template<typename TIntegrationMethodType >
Kratos::GeometryShapeFunctionContainer< TIntegrationMethodType >::GeometryShapeFunctionContainer ( const GeometryShapeFunctionContainer< TIntegrationMethodType > &  rOther)
inline

Copy constructor.

◆ ~GeometryShapeFunctionContainer()

template<typename TIntegrationMethodType >
virtual Kratos::GeometryShapeFunctionContainer< TIntegrationMethodType >::~GeometryShapeFunctionContainer ( )
inlinevirtual

Destructor. Do nothing!!!

Member Function Documentation

◆ DefaultIntegrationMethod()

template<typename TIntegrationMethodType >
IntegrationMethod Kratos::GeometryShapeFunctionContainer< TIntegrationMethodType >::DefaultIntegrationMethod ( ) const
inline

◆ HasIntegrationMethod()

template<typename TIntegrationMethodType >
bool Kratos::GeometryShapeFunctionContainer< TIntegrationMethodType >::HasIntegrationMethod ( IntegrationMethod  ThisMethod) const
inline

◆ Info()

template<typename TIntegrationMethodType >
virtual std::string Kratos::GeometryShapeFunctionContainer< TIntegrationMethodType >::Info ( ) const
inlinevirtual

Turn back information as a string.

◆ IntegrationPoints() [1/2]

template<typename TIntegrationMethodType >
const IntegrationPointsArrayType& Kratos::GeometryShapeFunctionContainer< TIntegrationMethodType >::IntegrationPoints ( ) const
inline

◆ IntegrationPoints() [2/2]

template<typename TIntegrationMethodType >
const IntegrationPointsArrayType& Kratos::GeometryShapeFunctionContainer< TIntegrationMethodType >::IntegrationPoints ( IntegrationMethod  ThisMethod) const
inline

◆ IntegrationPointsNumber() [1/2]

template<typename TIntegrationMethodType >
SizeType Kratos::GeometryShapeFunctionContainer< TIntegrationMethodType >::IntegrationPointsNumber ( ) const
inline

◆ IntegrationPointsNumber() [2/2]

template<typename TIntegrationMethodType >
SizeType Kratos::GeometryShapeFunctionContainer< TIntegrationMethodType >::IntegrationPointsNumber ( IntegrationMethod  ThisMethod) const
inline

◆ KRATOS_CLASS_POINTER_DEFINITION()

template<typename TIntegrationMethodType >
Kratos::GeometryShapeFunctionContainer< TIntegrationMethodType >::KRATOS_CLASS_POINTER_DEFINITION ( GeometryShapeFunctionContainer< TIntegrationMethodType >  )

Pointer definition of GeometryShapeFunctionContainer.

◆ operator=()

template<typename TIntegrationMethodType >
GeometryShapeFunctionContainer& Kratos::GeometryShapeFunctionContainer< TIntegrationMethodType >::operator= ( const GeometryShapeFunctionContainer< TIntegrationMethodType > &  rOther)
inline

◆ PrintData()

template<typename TIntegrationMethodType >
virtual void Kratos::GeometryShapeFunctionContainer< TIntegrationMethodType >::PrintData ( std::ostream &  rOStream) const
inlinevirtual

Print object's data.

◆ PrintInfo()

template<typename TIntegrationMethodType >
virtual void Kratos::GeometryShapeFunctionContainer< TIntegrationMethodType >::PrintInfo ( std::ostream &  rOStream) const
inlinevirtual

Print information about this object.

◆ ShapeFunctionDerivatives()

template<typename TIntegrationMethodType >
const Matrix& Kratos::GeometryShapeFunctionContainer< TIntegrationMethodType >::ShapeFunctionDerivatives ( IndexType  DerivativeOrderIndex,
IndexType  IntegrationPointIndex,
IntegrationMethod  ThisMethod 
) const
inline

◆ ShapeFunctionDerivativeValue()

template<typename TIntegrationMethodType >
double& Kratos::GeometryShapeFunctionContainer< TIntegrationMethodType >::ShapeFunctionDerivativeValue ( IndexType  IntegrationPointIndex,
IndexType  DerivativeOrderIndex,
IndexType  DerivativeOrderRowIndex,
IndexType  ShapeFunctionIndex,
IntegrationMethod  ThisMethod 
)
inline

◆ ShapeFunctionLocalGradient() [1/3]

template<typename TIntegrationMethodType >
const Matrix& Kratos::GeometryShapeFunctionContainer< TIntegrationMethodType >::ShapeFunctionLocalGradient ( IndexType  IntegrationPointIndex) const
inline

◆ ShapeFunctionLocalGradient() [2/3]

template<typename TIntegrationMethodType >
const Matrix& Kratos::GeometryShapeFunctionContainer< TIntegrationMethodType >::ShapeFunctionLocalGradient ( IndexType  IntegrationPointIndex,
IndexType  ShapeFunctionIndex,
IntegrationMethod  ThisMethod 
) const
inline

◆ ShapeFunctionLocalGradient() [3/3]

template<typename TIntegrationMethodType >
const Matrix& Kratos::GeometryShapeFunctionContainer< TIntegrationMethodType >::ShapeFunctionLocalGradient ( IndexType  IntegrationPointIndex,
IntegrationMethod  ThisMethod 
) const
inline

◆ ShapeFunctionsLocalGradients() [1/2]

template<typename TIntegrationMethodType >
const ShapeFunctionsGradientsType& Kratos::GeometryShapeFunctionContainer< TIntegrationMethodType >::ShapeFunctionsLocalGradients ( ) const
inline

◆ ShapeFunctionsLocalGradients() [2/2]

template<typename TIntegrationMethodType >
const ShapeFunctionsGradientsType& Kratos::GeometryShapeFunctionContainer< TIntegrationMethodType >::ShapeFunctionsLocalGradients ( IntegrationMethod  ThisMethod) const
inline

◆ ShapeFunctionsValues() [1/2]

template<typename TIntegrationMethodType >
const Matrix& Kratos::GeometryShapeFunctionContainer< TIntegrationMethodType >::ShapeFunctionsValues ( ) const
inline

◆ ShapeFunctionsValues() [2/2]

template<typename TIntegrationMethodType >
const Matrix& Kratos::GeometryShapeFunctionContainer< TIntegrationMethodType >::ShapeFunctionsValues ( IntegrationMethod  ThisMethod) const
inline

◆ ShapeFunctionValue() [1/2]

template<typename TIntegrationMethodType >
double Kratos::GeometryShapeFunctionContainer< TIntegrationMethodType >::ShapeFunctionValue ( IndexType  IntegrationPointIndex,
IndexType  ShapeFunctionIndex 
) const
inline

◆ ShapeFunctionValue() [2/2]

template<typename TIntegrationMethodType >
double Kratos::GeometryShapeFunctionContainer< TIntegrationMethodType >::ShapeFunctionValue ( IndexType  IntegrationPointIndex,
IndexType  ShapeFunctionIndex,
IntegrationMethod  ThisMethod 
) const
inline

Friends And Related Function Documentation

◆ Serializer

template<typename TIntegrationMethodType >
friend class Serializer
friend

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