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.
Public Types | Static Public Member Functions | List of all members
Kratos::GeoElementUtilities Class Reference

#include <element_utilities.hpp>

Collaboration diagram for Kratos::GeoElementUtilities:

Public Types

typedef Node NodeType
 
typedef Geometry< NodeTypeGeometryType
 

Static Public Member Functions

template<unsigned int TDim, unsigned int TNumNodes>
static void CalculateNuMatrix (BoundedMatrix< double, TDim, TDim *TNumNodes > &rNu, const Matrix &NContainer, unsigned int GPoint)
 
template<unsigned int TDim, unsigned int TNumNodes>
static void CalculateNuElementMatrix (BoundedMatrix< double,(TDim+1), TNumNodes *(TDim+1)> &rNut, const Matrix &NContainer, unsigned int GPoint)
 
template<unsigned int TDim, unsigned int TNumNodes>
static void InterpolateVariableWithComponents (array_1d< double, TDim > &rVector, const Matrix &NContainer, const array_1d< double, TDim *TNumNodes > &VariableWithComponents, unsigned int GPoint)
 
template<unsigned int TDof, unsigned int TNumNodes>
static void InterpolateVariableWithComponents (Vector &rVector, const Matrix &NContainer, const Vector &VariableWithComponents, unsigned int GPoint)
 
static void FillArray1dOutput (array_1d< double, 3 > &rOutputValue, const array_1d< double, 2 > &ComputedValue)
 
static void FillArray1dOutput (array_1d< double, 3 > &rOutputValue, const array_1d< double, 3 > &ComputedValue)
 
template<unsigned int TDim, unsigned int TNumNodes>
static void GetNodalVariableVector (array_1d< double, TDim *TNumNodes > &rNodalVariableVector, const Element::GeometryType &Geom, const Variable< array_1d< double, 3 >> &Variable, IndexType SolutionStepIndex=0)
 
template<unsigned int TDim, unsigned int TNumNodes>
static void GetNodalVariableMatrix (Matrix &rNodalVariableMatrix, const Element::GeometryType &rGeom, const Variable< array_1d< double, 3 >> &Variable, IndexType SolutionStepIndex=0)
 
static void FillPermeabilityMatrix (BoundedMatrix< double, 2, 2 > &rPermeabilityMatrix, const Element::PropertiesType &Prop)
 
static void FillPermeabilityMatrix (BoundedMatrix< double, 3, 3 > &rPermeabilityMatrix, const Element::PropertiesType &Prop)
 
static void InvertMatrix2 (BoundedMatrix< double, 2, 2 > &rInvertedMatrix, const BoundedMatrix< double, 2, 2 > &InputMatrix, double &InputMatrixDet)
 
static void InvertMatrix2 (BoundedMatrix< double, 2, 2 > &rInvertedMatrix, const BoundedMatrix< double, 2, 2 > &InputMatrix)
 
template<unsigned int TDim>
static void AssembleDensityMatrix (BoundedMatrix< double, TDim+1, TDim+1 > &DensityMatrix, double Density)
 
static void AssembleDensityMatrix (Matrix &DensityMatrix, double Density)
 
template<unsigned int TDim, unsigned int TNumNodes>
static void AssembleUBlockMatrix (Matrix &rLeftHandSideMatrix, const BoundedMatrix< double, TDim *TNumNodes, TDim *TNumNodes > &UBlockMatrix)
 
static void AssembleUBlockMatrix (Matrix &rLeftHandSideMatrix, const Matrix &UBlockMatrix, unsigned int TNumNodes, unsigned int TDim)
 
template<unsigned int TDim, unsigned int TNumNodes>
static void AssembleUPBlockMatrix (Matrix &rLeftHandSideMatrix, const BoundedMatrix< double, TDim *TNumNodes, TNumNodes > &UPBlockMatrix)
 
template<unsigned int TDim, unsigned int TNumNodes>
static void AssemblePUBlockMatrix (Matrix &rLeftHandSideMatrix, const BoundedMatrix< double, TNumNodes, TNumNodes *TDim > &PUBlockMatrix)
 
template<unsigned int TDim, unsigned int TNumNodes>
static void AssemblePBlockMatrix (Matrix &rLeftHandSideMatrix, const BoundedMatrix< double, TNumNodes, TNumNodes > &PBlockMatrix)
 
template<unsigned int TDim, unsigned int TNumNodes>
static void AssembleUBlockVector (Vector &rRightHandSideVector, const array_1d< double, TDim *TNumNodes > &UBlockVector, unsigned int OffsetDof=1)
 
template<unsigned int TDim, unsigned int TNumNodes>
static void AssemblePBlockVector (Vector &rRightHandSideVector, const array_1d< double, TNumNodes > &PBlockVector)
 
static void CalculateNewtonCotesLocalShapeFunctionsGradients (BoundedMatrix< double, 2, 2 > &DN_DeContainer)
 
static void CalculateNewtonCotesLocalShapeFunctionsGradients (BoundedMatrix< double, 3, 3 > &DN_DeContainer)
 
static void CalculateNewtonCotesShapeFunctions (BoundedMatrix< double, 3, 3 > &NContainer)
 
static void CalculateEquallyDistributedPointsLineShapeFunctions3N (Matrix &NContainer)
 
static void CalculateEquallyDistributedPointsLineGradientShapeFunctions3N (GeometryData::ShapeFunctionsGradientsType &DN_DeContainer)
 
static double CalculateRadius (const Vector &N, const GeometryType &Geom)
 
static double CalculateAxisymmetricCircumference (const Vector &N, const GeometryType &Geom)
 
static void CalculateExtrapolationMatrixTriangle (Matrix &rExtrapolationMatrix, const GeometryData::IntegrationMethod &rIntegrationMethod)
 
static void CalculateExtrapolationMatrixQuad (Matrix &rExtrapolationMatrix, const GeometryData::IntegrationMethod &rIntegrationMethod)
 
static void CalculateExtrapolationMatrixTetra (Matrix &rExtrapolationMatrix, const GeometryData::IntegrationMethod &rIntegrationMethod)
 
static void CalculateExtrapolationMatrixHexa (Matrix &rExtrapolationMatrix, const GeometryData::IntegrationMethod &rIntegrationMethod)
 
static Vector CalculateNodalHydraulicHeadFromWaterPressures (const GeometryType &rGeom, const Properties &rProp)
 

Member Typedef Documentation

◆ GeometryType

◆ NodeType

Member Function Documentation

◆ AssembleDensityMatrix() [1/2]

template<unsigned int TDim>
static void Kratos::GeoElementUtilities::AssembleDensityMatrix ( BoundedMatrix< double, TDim+1, TDim+1 > &  DensityMatrix,
double  Density 
)
inlinestatic

◆ AssembleDensityMatrix() [2/2]

static void Kratos::GeoElementUtilities::AssembleDensityMatrix ( Matrix DensityMatrix,
double  Density 
)
inlinestatic

◆ AssemblePBlockMatrix()

template<unsigned int TDim, unsigned int TNumNodes>
static void Kratos::GeoElementUtilities::AssemblePBlockMatrix ( Matrix rLeftHandSideMatrix,
const BoundedMatrix< double, TNumNodes, TNumNodes > &  PBlockMatrix 
)
inlinestatic

◆ AssemblePBlockVector()

template<unsigned int TDim, unsigned int TNumNodes>
static void Kratos::GeoElementUtilities::AssemblePBlockVector ( Vector rRightHandSideVector,
const array_1d< double, TNumNodes > &  PBlockVector 
)
inlinestatic

◆ AssemblePUBlockMatrix()

template<unsigned int TDim, unsigned int TNumNodes>
static void Kratos::GeoElementUtilities::AssemblePUBlockMatrix ( Matrix rLeftHandSideMatrix,
const BoundedMatrix< double, TNumNodes, TNumNodes *TDim > &  PUBlockMatrix 
)
inlinestatic

◆ AssembleUBlockMatrix() [1/2]

template<unsigned int TDim, unsigned int TNumNodes>
static void Kratos::GeoElementUtilities::AssembleUBlockMatrix ( Matrix rLeftHandSideMatrix,
const BoundedMatrix< double, TDim *TNumNodes, TDim *TNumNodes > &  UBlockMatrix 
)
inlinestatic

◆ AssembleUBlockMatrix() [2/2]

static void Kratos::GeoElementUtilities::AssembleUBlockMatrix ( Matrix rLeftHandSideMatrix,
const Matrix UBlockMatrix,
unsigned int  TNumNodes,
unsigned int  TDim 
)
inlinestatic

◆ AssembleUBlockVector()

template<unsigned int TDim, unsigned int TNumNodes>
static void Kratos::GeoElementUtilities::AssembleUBlockVector ( Vector rRightHandSideVector,
const array_1d< double, TDim *TNumNodes > &  UBlockVector,
unsigned int  OffsetDof = 1 
)
inlinestatic

◆ AssembleUPBlockMatrix()

template<unsigned int TDim, unsigned int TNumNodes>
static void Kratos::GeoElementUtilities::AssembleUPBlockMatrix ( Matrix rLeftHandSideMatrix,
const BoundedMatrix< double, TDim *TNumNodes, TNumNodes > &  UPBlockMatrix 
)
inlinestatic

◆ CalculateAxisymmetricCircumference()

static double Kratos::GeoElementUtilities::CalculateAxisymmetricCircumference ( const Vector N,
const GeometryType Geom 
)
inlinestatic

◆ CalculateEquallyDistributedPointsLineGradientShapeFunctions3N()

static void Kratos::GeoElementUtilities::CalculateEquallyDistributedPointsLineGradientShapeFunctions3N ( GeometryData::ShapeFunctionsGradientsType DN_DeContainer)
inlinestatic

◆ CalculateEquallyDistributedPointsLineShapeFunctions3N()

static void Kratos::GeoElementUtilities::CalculateEquallyDistributedPointsLineShapeFunctions3N ( Matrix NContainer)
inlinestatic

◆ CalculateExtrapolationMatrixHexa()

static void Kratos::GeoElementUtilities::CalculateExtrapolationMatrixHexa ( Matrix rExtrapolationMatrix,
const GeometryData::IntegrationMethod rIntegrationMethod 
)
inlinestatic

◆ CalculateExtrapolationMatrixQuad()

static void Kratos::GeoElementUtilities::CalculateExtrapolationMatrixQuad ( Matrix rExtrapolationMatrix,
const GeometryData::IntegrationMethod rIntegrationMethod 
)
inlinestatic

◆ CalculateExtrapolationMatrixTetra()

static void Kratos::GeoElementUtilities::CalculateExtrapolationMatrixTetra ( Matrix rExtrapolationMatrix,
const GeometryData::IntegrationMethod rIntegrationMethod 
)
inlinestatic

◆ CalculateExtrapolationMatrixTriangle()

static void Kratos::GeoElementUtilities::CalculateExtrapolationMatrixTriangle ( Matrix rExtrapolationMatrix,
const GeometryData::IntegrationMethod rIntegrationMethod 
)
inlinestatic

The matrix contains the shape functions at each GP evaluated at each node. Rows: nodes Columns: GP

◆ CalculateNewtonCotesLocalShapeFunctionsGradients() [1/2]

static void Kratos::GeoElementUtilities::CalculateNewtonCotesLocalShapeFunctionsGradients ( BoundedMatrix< double, 2, 2 > &  DN_DeContainer)
inlinestatic

◆ CalculateNewtonCotesLocalShapeFunctionsGradients() [2/2]

static void Kratos::GeoElementUtilities::CalculateNewtonCotesLocalShapeFunctionsGradients ( BoundedMatrix< double, 3, 3 > &  DN_DeContainer)
inlinestatic

◆ CalculateNewtonCotesShapeFunctions()

static void Kratos::GeoElementUtilities::CalculateNewtonCotesShapeFunctions ( BoundedMatrix< double, 3, 3 > &  NContainer)
inlinestatic

◆ CalculateNodalHydraulicHeadFromWaterPressures()

static Vector Kratos::GeoElementUtilities::CalculateNodalHydraulicHeadFromWaterPressures ( const GeometryType rGeom,
const Properties rProp 
)
inlinestatic

◆ CalculateNuElementMatrix()

template<unsigned int TDim, unsigned int TNumNodes>
static void Kratos::GeoElementUtilities::CalculateNuElementMatrix ( BoundedMatrix< double,(TDim+1), TNumNodes *(TDim+1)> &  rNut,
const Matrix NContainer,
unsigned int  GPoint 
)
inlinestatic

◆ CalculateNuMatrix()

template<unsigned int TDim, unsigned int TNumNodes>
static void Kratos::GeoElementUtilities::CalculateNuMatrix ( BoundedMatrix< double, TDim, TDim *TNumNodes > &  rNu,
const Matrix NContainer,
unsigned int  GPoint 
)
inlinestatic

◆ CalculateRadius()

static double Kratos::GeoElementUtilities::CalculateRadius ( const Vector N,
const GeometryType Geom 
)
inlinestatic

Calculates the radius of axisymmetry

Parameters
NThe Gauss Point shape function
GeomThe geometry studied
Returns
Radius: The radius of axisymmetry

◆ FillArray1dOutput() [1/2]

static void Kratos::GeoElementUtilities::FillArray1dOutput ( array_1d< double, 3 > &  rOutputValue,
const array_1d< double, 2 > &  ComputedValue 
)
inlinestatic

◆ FillArray1dOutput() [2/2]

static void Kratos::GeoElementUtilities::FillArray1dOutput ( array_1d< double, 3 > &  rOutputValue,
const array_1d< double, 3 > &  ComputedValue 
)
inlinestatic

◆ FillPermeabilityMatrix() [1/2]

static void Kratos::GeoElementUtilities::FillPermeabilityMatrix ( BoundedMatrix< double, 2, 2 > &  rPermeabilityMatrix,
const Element::PropertiesType Prop 
)
inlinestatic

◆ FillPermeabilityMatrix() [2/2]

static void Kratos::GeoElementUtilities::FillPermeabilityMatrix ( BoundedMatrix< double, 3, 3 > &  rPermeabilityMatrix,
const Element::PropertiesType Prop 
)
inlinestatic

◆ GetNodalVariableMatrix()

template<unsigned int TDim, unsigned int TNumNodes>
static void Kratos::GeoElementUtilities::GetNodalVariableMatrix ( Matrix rNodalVariableMatrix,
const Element::GeometryType rGeom,
const Variable< array_1d< double, 3 >> &  Variable,
IndexType  SolutionStepIndex = 0 
)
inlinestatic

◆ GetNodalVariableVector()

template<unsigned int TDim, unsigned int TNumNodes>
static void Kratos::GeoElementUtilities::GetNodalVariableVector ( array_1d< double, TDim *TNumNodes > &  rNodalVariableVector,
const Element::GeometryType Geom,
const Variable< array_1d< double, 3 >> &  Variable,
IndexType  SolutionStepIndex = 0 
)
inlinestatic

◆ InterpolateVariableWithComponents() [1/2]

template<unsigned int TDim, unsigned int TNumNodes>
static void Kratos::GeoElementUtilities::InterpolateVariableWithComponents ( array_1d< double, TDim > &  rVector,
const Matrix NContainer,
const array_1d< double, TDim *TNumNodes > &  VariableWithComponents,
unsigned int  GPoint 
)
inlinestatic

◆ InterpolateVariableWithComponents() [2/2]

template<unsigned int TDof, unsigned int TNumNodes>
static void Kratos::GeoElementUtilities::InterpolateVariableWithComponents ( Vector rVector,
const Matrix NContainer,
const Vector VariableWithComponents,
unsigned int  GPoint 
)
inlinestatic

◆ InvertMatrix2() [1/2]

static void Kratos::GeoElementUtilities::InvertMatrix2 ( BoundedMatrix< double, 2, 2 > &  rInvertedMatrix,
const BoundedMatrix< double, 2, 2 > &  InputMatrix 
)
inlinestatic

◆ InvertMatrix2() [2/2]

static void Kratos::GeoElementUtilities::InvertMatrix2 ( BoundedMatrix< double, 2, 2 > &  rInvertedMatrix,
const BoundedMatrix< double, 2, 2 > &  InputMatrix,
double InputMatrixDet 
)
inlinestatic

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