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

#include <element_utilities.hpp>

Collaboration diagram for Kratos::ElementUtilities:

Public Types

Type Definitions
typedef std::size_t SizeType
 
typedef Node NodeType
 definition of node type (default is: Node) More...
 
typedef Geometry< NodeTypeGeometryType
 definition of the geometry type with given NodeType More...
 
typedef std::size_t SizeType
 
typedef Node NodeType
 definition of node type (default is: Node) More...
 
typedef Geometry< NodeTypeGeometryType
 definition of the geometry type with given NodeType More...
 

Static Public Member Functions

static void InterpolateVariableWithComponents (array_1d< double, 2 > &rVector, const Matrix &Ncontainer, const array_1d< array_1d< double, 3 >, 3 > &VariableWithComponents, const unsigned int &GPoint)
 
static void InterpolateVariableWithComponents (array_1d< double, 2 > &rVector, const Matrix &Ncontainer, const array_1d< array_1d< double, 3 >, 4 > &VariableWithComponents, const unsigned int &GPoint)
 
static void InterpolateVariableWithComponents (array_1d< double, 3 > &rVector, const Matrix &Ncontainer, const array_1d< array_1d< double, 3 >, 4 > &VariableWithComponents, const unsigned int &GPoint)
 
static void InterpolateVariableWithComponents (array_1d< double, 3 > &rVector, const Matrix &Ncontainer, const array_1d< array_1d< double, 3 >, 8 > &VariableWithComponents, const 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)
 
static void Calculate2DExtrapolationMatrix (BoundedMatrix< double, 3, 3 > &rExtrapolationMatrix)
 
static void Calculate2DExtrapolationMatrix (BoundedMatrix< double, 4, 4 > &rExtrapolationMatrix)
 
static void Calculate3DExtrapolationMatrix (BoundedMatrix< double, 4, 4 > &rExtrapolationMatrix)
 
static void Calculate3DExtrapolationMatrix (BoundedMatrix< double, 8, 8 > &rExtrapolationMatrix)
 
static void CalculateDeltaPosition (Matrix &rDeltaPosition, const GeometryType &rGeometry)
 Calculate Delta Position. More...
 
static void CalculateTotalDeltaPosition (Matrix &rDeltaPosition, const GeometryType &rGeometry)
 Calculate Total Delta Position. More...
 
static void CalculateVelocityGradient (Matrix &rVelocityGradient, const GeometryType &rGeometry, const Matrix &rDN_DX, const double Alpha=1.0)
 Calculate Norm of stresses.VelocityGradient. More...
 
static void CalculateDeformationGradient (Matrix &rDeformationGradient, const GeometryType &rGeometry, const Matrix &rDN_DX, const Matrix &rDeltaPosition)
 Calculate the Deformation Gradient Tensor. More...
 
static void CalculateVelocityGradientVector (Vector &rVelocityGradient, const GeometryType &rGeometry, const Matrix &rDN_DX, const double Alpha=1.0)
 Calculate the VelocityGradient vector (no voigt form) More...
 
static void CalculateSymmetricVelocityGradientVector (const Matrix &rVelocityGradientMatrix, Vector &rSymmetricVelocityGradientVector, const SizeType &rDimension)
 Calculate the symmetric VelocityGradient vector. More...
 
static void CalculateSkewSymmetricVelocityGradientVector (const Matrix &rVelocityGradientMatrix, Vector &rSkewSymmetricVelocityGradientVector, const SizeType &rDimension)
 Calculate the skew-symmetric VelocityGradient vector. More...
 
static void CalculateLinearDeformationMatrix (Matrix &rDeformationMatrix, const GeometryType &rGeometry, const Matrix &rDN_DX)
 Calculate Linear deformation matrix BL. More...
 
static double CalculateStressNorm (const Vector &rStressVector)
 Calculate Norm of stresses. More...
 
static double CalculateVonMises (const Vector &rStressVector)
 Calculate VonMises stress. More...
 
static double CalculateVonMisesUsingPrincipalStresses (const Vector &rStressVector)
 Calculate VonMises stress. More...
 
static void CalculateDeltaPosition (Matrix &rDeltaPosition, const GeometryType &rGeometry)
 Calculate Delta Position. More...
 
static void CalculateTotalDeltaPosition (Matrix &rDeltaPosition, const GeometryType &rGeometry)
 Calculate Total Delta Position. More...
 
static void CalculateVelocityGradient (Matrix &rVelocityGradient, const GeometryType &rGeometry, const Matrix &rDN_DX, const double Alpha=1.0)
 Calculate Norm of stresses.VelocityGradient. More...
 
static void CalculateDeformationGradient (Matrix &rDeformationGradient, const GeometryType &rGeometry, const Matrix &rDN_DX, const Matrix &rDeltaPosition)
 Calculate the Deformation Gradient Tensor. More...
 
static void CalculateVelocityGradientVector (Vector &rVelocityGradient, const GeometryType &rGeometry, const Matrix &rDN_DX, const double Alpha=1.0)
 Calculate the VelocityGradient vector (no voigt form) More...
 
static void CalculateSymmetricVelocityGradientVector (const Matrix &rVelocityGradientMatrix, Vector &rSymmetricVelocityGradientVector, const SizeType &rDimension)
 Calculate the symmetric VelocityGradient vector. More...
 
static void CalculateSkewSymmetricVelocityGradientVector (const Matrix &rVelocityGradientMatrix, Vector &rSkewSymmetricVelocityGradientVector, const SizeType &rDimension)
 Calculate the skew-symmetric VelocityGradient vector. More...
 
static void CalculateLinearDeformationMatrix (Matrix &rDeformationMatrix, const GeometryType &rGeometry, const Matrix &rDN_DX)
 Calculate Linear deformation matrix BL. More...
 
static double CalculateStressNorm (const Vector &rStressVector)
 Calculate Norm of stresses. More...
 
static double CalculateVonMises (const Vector &rStressVector)
 Calculate VonMises stress. More...
 
static double CalculateVonMisesUsingPrincipalStresses (const Vector &rStressVector)
 Calculate VonMises stress. More...
 

Static Protected Member Functions

static void CheckZeroDiagonalComponents (Matrix &StressTensor)
 Check and correct diagonal terms in the stress tensor. More...
 
static bool CheckPrincipalStresses (Matrix &StressTensor)
 Check no zero diagonal terms in the diagonalized stress tensor. More...
 
static void CheckZeroDiagonalComponents (Matrix &StressTensor)
 Check and correct diagonal terms in the stress tensor. More...
 
static bool CheckPrincipalStresses (Matrix &StressTensor)
 Check no zero diagonal terms in the diagonalized stress tensor. More...
 

Member Typedef Documentation

◆ GeometryType [1/2]

definition of the geometry type with given NodeType

◆ GeometryType [2/2]

definition of the geometry type with given NodeType

◆ NodeType [1/2]

definition of node type (default is: Node)

◆ NodeType [2/2]

definition of node type (default is: Node)

◆ SizeType [1/2]

◆ SizeType [2/2]

Member Function Documentation

◆ Calculate2DExtrapolationMatrix() [1/2]

static void Kratos::ElementUtilities::Calculate2DExtrapolationMatrix ( BoundedMatrix< double, 3, 3 > &  rExtrapolationMatrix)
inlinestatic

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

◆ Calculate2DExtrapolationMatrix() [2/2]

static void Kratos::ElementUtilities::Calculate2DExtrapolationMatrix ( BoundedMatrix< double, 4, 4 > &  rExtrapolationMatrix)
inlinestatic

◆ Calculate3DExtrapolationMatrix() [1/2]

static void Kratos::ElementUtilities::Calculate3DExtrapolationMatrix ( BoundedMatrix< double, 4, 4 > &  rExtrapolationMatrix)
inlinestatic

◆ Calculate3DExtrapolationMatrix() [2/2]

static void Kratos::ElementUtilities::Calculate3DExtrapolationMatrix ( BoundedMatrix< double, 8, 8 > &  rExtrapolationMatrix)
inlinestatic

◆ CalculateDeformationGradient() [1/2]

static void Kratos::ElementUtilities::CalculateDeformationGradient ( Matrix rDeformationGradient,
const GeometryType rGeometry,
const Matrix rDN_DX,
const Matrix rDeltaPosition 
)
inlinestatic

Calculate the Deformation Gradient Tensor.

Parameters
rVelocityGradient,matrixform for the deformation gradient, returned parameter
rGeometry,geometrywhere the gradient is calculated
rDN_DX,shapefunctions derivatives
rDeltaPosition,matrixcontaining increment of position

◆ CalculateDeformationGradient() [2/2]

static void Kratos::ElementUtilities::CalculateDeformationGradient ( Matrix rDeformationGradient,
const GeometryType rGeometry,
const Matrix rDN_DX,
const Matrix rDeltaPosition 
)
inlinestatic

Calculate the Deformation Gradient Tensor.

Parameters
rVelocityGradient,matrixform for the deformation gradient, returned parameter
rGeometry,geometrywhere the gradient is calculated
rDN_DX,shapefunctions derivatives
rDeltaPosition,matrixcontaining increment of position

◆ CalculateDeltaPosition() [1/2]

static void Kratos::ElementUtilities::CalculateDeltaPosition ( Matrix rDeltaPosition,
const GeometryType rGeometry 
)
inlinestatic

Calculate Delta Position.

Parameters
rDeltaPosition,matrixstoring the displacement or position increment, returned parameter
rGeometry,geometrywhere the gradient is calculated

◆ CalculateDeltaPosition() [2/2]

static void Kratos::ElementUtilities::CalculateDeltaPosition ( Matrix rDeltaPosition,
const GeometryType rGeometry 
)
inlinestatic

Calculate Delta Position.

Parameters
rDeltaPosition,matrixstoring the displacement or position increment, returned parameter
rGeometry,geometrywhere the gradient is calculated

◆ CalculateLinearDeformationMatrix() [1/2]

static void Kratos::ElementUtilities::CalculateLinearDeformationMatrix ( Matrix rDeformationMatrix,
const GeometryType rGeometry,
const Matrix rDN_DX 
)
inlinestatic

Calculate Linear deformation matrix BL.

Parameters
rDeformationMatrix,matrixform, returned parameter
rGeometry,geometrywhere the gradient is calculated
rDN_DX,shapefunctions derivatives

◆ CalculateLinearDeformationMatrix() [2/2]

static void Kratos::ElementUtilities::CalculateLinearDeformationMatrix ( Matrix rDeformationMatrix,
const GeometryType rGeometry,
const Matrix rDN_DX 
)
inlinestatic

Calculate Linear deformation matrix BL.

Parameters
rDeformationMatrix,matrixform, returned parameter
rGeometry,geometrywhere the gradient is calculated
rDN_DX,shapefunctions derivatives

◆ CalculateSkewSymmetricVelocityGradientVector() [1/2]

static void Kratos::ElementUtilities::CalculateSkewSymmetricVelocityGradientVector ( const Matrix rVelocityGradientMatrix,
Vector rSkewSymmetricVelocityGradientVector,
const SizeType rDimension 
)
inlinestatic

Calculate the skew-symmetric VelocityGradient vector.

Parameters
rVelocityGradientMatrix,matrixform of the velocity gradient
rSkewSymmetricVelocityGradientVector,vectorform of the symmetric velocity gradient, returned parameter

◆ CalculateSkewSymmetricVelocityGradientVector() [2/2]

static void Kratos::ElementUtilities::CalculateSkewSymmetricVelocityGradientVector ( const Matrix rVelocityGradientMatrix,
Vector rSkewSymmetricVelocityGradientVector,
const SizeType rDimension 
)
inlinestatic

Calculate the skew-symmetric VelocityGradient vector.

Parameters
rVelocityGradientMatrix,matrixform of the velocity gradient
rSkewSymmetricVelocityGradientVector,vectorform of the symmetric velocity gradient, returned parameter

◆ CalculateStressNorm() [1/2]

static double Kratos::ElementUtilities::CalculateStressNorm ( const Vector rStressVector)
inlinestatic

Calculate Norm of stresses.

Parameters
rStressVector,thestress tensor in voigt form
Returns
StressNorm, the norm of stresses

◆ CalculateStressNorm() [2/2]

static double Kratos::ElementUtilities::CalculateStressNorm ( const Vector rStressVector)
inlinestatic

Calculate Norm of stresses.

Parameters
rStressVector,thestress tensor in voigt form
Returns
StressNorm, the norm of stresses

◆ CalculateSymmetricVelocityGradientVector() [1/2]

static void Kratos::ElementUtilities::CalculateSymmetricVelocityGradientVector ( const Matrix rVelocityGradientMatrix,
Vector rSymmetricVelocityGradientVector,
const SizeType rDimension 
)
inlinestatic

Calculate the symmetric VelocityGradient vector.

Parameters
rVelocityGradientMatrix,matrixform of the velocity gradient
rSymmetricVelocityGradientVector,vectorform of the symmetric velocity gradient, returned parameter

◆ CalculateSymmetricVelocityGradientVector() [2/2]

static void Kratos::ElementUtilities::CalculateSymmetricVelocityGradientVector ( const Matrix rVelocityGradientMatrix,
Vector rSymmetricVelocityGradientVector,
const SizeType rDimension 
)
inlinestatic

Calculate the symmetric VelocityGradient vector.

Parameters
rVelocityGradientMatrix,matrixform of the velocity gradient
rSymmetricVelocityGradientVector,vectorform of the symmetric velocity gradient, returned parameter

◆ CalculateTotalDeltaPosition() [1/2]

static void Kratos::ElementUtilities::CalculateTotalDeltaPosition ( Matrix rDeltaPosition,
const GeometryType rGeometry 
)
inlinestatic

Calculate Total Delta Position.

Parameters
rDeltaPosition,matrixstoring the displacement or position increment from origin, returned parameter
rGeometry,geometrywhere the gradient is calculated

◆ CalculateTotalDeltaPosition() [2/2]

static void Kratos::ElementUtilities::CalculateTotalDeltaPosition ( Matrix rDeltaPosition,
const GeometryType rGeometry 
)
inlinestatic

Calculate Total Delta Position.

Parameters
rDeltaPosition,matrixstoring the displacement or position increment from origin, returned parameter
rGeometry,geometrywhere the gradient is calculated

◆ CalculateVelocityGradient() [1/2]

static void Kratos::ElementUtilities::CalculateVelocityGradient ( Matrix rVelocityGradient,
const GeometryType rGeometry,
const Matrix rDN_DX,
const double  Alpha = 1.0 
)
inlinestatic

Calculate Norm of stresses.VelocityGradient.

Parameters
rVelocityGradient,matrixform of the velocity gradient, returned parameter
rGeometry,geometrywhere the gradient is calculated
rDN_DX,shapefunctions derivatives
Alpha,parameterto change the step calculation [0,1]

◆ CalculateVelocityGradient() [2/2]

static void Kratos::ElementUtilities::CalculateVelocityGradient ( Matrix rVelocityGradient,
const GeometryType rGeometry,
const Matrix rDN_DX,
const double  Alpha = 1.0 
)
inlinestatic

Calculate Norm of stresses.VelocityGradient.

Parameters
rVelocityGradient,matrixform of the velocity gradient, returned parameter
rGeometry,geometrywhere the gradient is calculated
rDN_DX,shapefunctions derivatives
Alpha,parameterto change the step calculation [0,1]

◆ CalculateVelocityGradientVector() [1/2]

static void Kratos::ElementUtilities::CalculateVelocityGradientVector ( Vector rVelocityGradient,
const GeometryType rGeometry,
const Matrix rDN_DX,
const double  Alpha = 1.0 
)
inlinestatic

Calculate the VelocityGradient vector (no voigt form)

Parameters
rVelocityGradient,vectorform of the non symmetric velocity gradient, returned parameter
rGeometry,geometrywhere the gradient is calculated
rDN_DX,shapefunctions derivatives
Alpha,parameterto change the step calculation [0,1]

◆ CalculateVelocityGradientVector() [2/2]

static void Kratos::ElementUtilities::CalculateVelocityGradientVector ( Vector rVelocityGradient,
const GeometryType rGeometry,
const Matrix rDN_DX,
const double  Alpha = 1.0 
)
inlinestatic

Calculate the VelocityGradient vector (no voigt form)

Parameters
rVelocityGradient,vectorform of the non symmetric velocity gradient, returned parameter
rGeometry,geometrywhere the gradient is calculated
rDN_DX,shapefunctions derivatives
Alpha,parameterto change the step calculation [0,1]

◆ CalculateVonMises() [1/2]

static double Kratos::ElementUtilities::CalculateVonMises ( const Vector rStressVector)
inlinestatic

Calculate VonMises stress.

Parameters
rStressVector,thestress tensor in voigt form
Returns
VonMisesStress, the von mises stress

◆ CalculateVonMises() [2/2]

static double Kratos::ElementUtilities::CalculateVonMises ( const Vector rStressVector)
inlinestatic

Calculate VonMises stress.

Parameters
rStressVector,thestress tensor in voigt form
Returns
VonMisesStress, the von mises stress

◆ CalculateVonMisesUsingPrincipalStresses() [1/2]

static double Kratos::ElementUtilities::CalculateVonMisesUsingPrincipalStresses ( const Vector rStressVector)
inlinestatic

Calculate VonMises stress.

Parameters
rStressVector,thestress tensor in voigt form
Returns
VonMisesStress, the von mises stress

◆ CalculateVonMisesUsingPrincipalStresses() [2/2]

static double Kratos::ElementUtilities::CalculateVonMisesUsingPrincipalStresses ( const Vector rStressVector)
inlinestatic

Calculate VonMises stress.

Parameters
rStressVector,thestress tensor in voigt form
Returns
VonMisesStress, the von mises stress

◆ CheckPrincipalStresses() [1/2]

static bool Kratos::ElementUtilities::CheckPrincipalStresses ( Matrix StressTensor)
inlinestaticprotected

Check no zero diagonal terms in the diagonalized stress tensor.

Parameters
rStressTensor,thestress tensor in matrix form
Returns
bool, if zero principal stresses are detected

◆ CheckPrincipalStresses() [2/2]

static bool Kratos::ElementUtilities::CheckPrincipalStresses ( Matrix StressTensor)
inlinestaticprotected

Check no zero diagonal terms in the diagonalized stress tensor.

Parameters
rStressTensor,thestress tensor in matrix form
Returns
bool, if zero principal stresses are detected

◆ CheckZeroDiagonalComponents() [1/2]

static void Kratos::ElementUtilities::CheckZeroDiagonalComponents ( Matrix StressTensor)
inlinestaticprotected

Check and correct diagonal terms in the stress tensor.

Parameters
rStressTensor,thestress tensor in matrix form

◆ CheckZeroDiagonalComponents() [2/2]

static void Kratos::ElementUtilities::CheckZeroDiagonalComponents ( Matrix StressTensor)
inlinestaticprotected

Check and correct diagonal terms in the stress tensor.

Parameters
rStressTensor,thestress tensor in matrix form

◆ FillArray1dOutput() [1/2]

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

◆ FillArray1dOutput() [2/2]

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

◆ InterpolateVariableWithComponents() [1/4]

static void Kratos::ElementUtilities::InterpolateVariableWithComponents ( array_1d< double, 2 > &  rVector,
const Matrix Ncontainer,
const array_1d< array_1d< double, 3 >, 3 > &  VariableWithComponents,
const unsigned int GPoint 
)
inlinestatic

◆ InterpolateVariableWithComponents() [2/4]

static void Kratos::ElementUtilities::InterpolateVariableWithComponents ( array_1d< double, 2 > &  rVector,
const Matrix Ncontainer,
const array_1d< array_1d< double, 3 >, 4 > &  VariableWithComponents,
const unsigned int GPoint 
)
inlinestatic

◆ InterpolateVariableWithComponents() [3/4]

static void Kratos::ElementUtilities::InterpolateVariableWithComponents ( array_1d< double, 3 > &  rVector,
const Matrix Ncontainer,
const array_1d< array_1d< double, 3 >, 4 > &  VariableWithComponents,
const unsigned int GPoint 
)
inlinestatic

◆ InterpolateVariableWithComponents() [4/4]

static void Kratos::ElementUtilities::InterpolateVariableWithComponents ( array_1d< double, 3 > &  rVector,
const Matrix Ncontainer,
const array_1d< array_1d< double, 3 >, 8 > &  VariableWithComponents,
const unsigned int GPoint 
)
inlinestatic

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