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.
Typedefs | Functions
Kratos::StructuralMechanicsElementUtilities Namespace Reference

Typedefs

typedef std::size_t SizeType
 The size type definition. More...
 
typedef std::size_t IndexType
 The index type definition. More...
 
typedef Node NodeType
 Node type definition. More...
 
typedef Geometry< NodeTypeGeometryType
 Geometry definitions. More...
 

Functions

int SolidElementCheck (const Element &rElement, const ProcessInfo &rCurrentProcessInfo, const std::vector< ConstitutiveLaw::Pointer > &rConstitutiveLaws)
 This method performs commons checks on the solid elements. More...
 
array_1d< double, 3 > GetBodyForce (const Element &rElement, const GeometryType::IntegrationPointsArrayType &rIntegrationPoints, const IndexType PointNumber)
 This method returns the computed the computed body force. More...
 
bool ComputeLumpedMassMatrix (const Properties &rProperties, const ProcessInfo &rCurrentProcessInfo)
 Method to specify if the lumped or the consistent mass-matrix should be computed. More...
 
bool HasRayleighDamping (const Properties &rProperties, const ProcessInfo &rCurrentProcessInfo)
 Method to specify if rayligh-damping is specified. More...
 
double GetRayleighAlpha (const Properties &rProperties, const ProcessInfo &rCurrentProcessInfo)
 Method to get the rayleigh-alpha parameter. More...
 
double GetRayleighBeta (const Properties &rProperties, const ProcessInfo &rCurrentProcessInfo)
 Method to get the rayleigh-beta parameter. More...
 
double GetDensityForMassMatrixComputation (const Element &rElement)
 Method to returns the density to be consider for the mass-matrix computation. More...
 
void CalculateRayleighDampingMatrix (Element &rElement, Element::MatrixType &rDampingMatrix, const ProcessInfo &rCurrentProcessInfo, const std::size_t MatrixSize)
 Method to calculate the rayleigh damping-matrix. More...
 
double CalculateReferenceLength2D2N (const Element &rElement)
 This function calculates the reference length for 2D2N elements. More...
 
double CalculateCurrentLength2D2N (const Element &rElement)
 This function calculates the current length for 2D2N elements. More...
 
double CalculateReferenceLength3D2N (const Element &rElement)
 This function calculates the reference length for 3D2N elements. More...
 
double CalculateCurrentLength3D2N (const Element &rElement)
 This function calculates the current length for 3D2N elements. More...
 
void InitialCheckLocalAxes (const array_1d< double, 3 > &rv1, const array_1d< double, 3 > &rv2, const array_1d< double, 3 > &rv3, const double Tolerance=1.0e4 *std::numeric_limits< double >::epsilon())
 This function checks the norm of the vectors. More...
 
void BuildRotationMatrix (BoundedMatrix< double, 3, 3 > &rRotationMatrix, const array_1d< double, 3 > &rv1, const array_1d< double, 3 > &rv2, const array_1d< double, 3 > &rv3)
 This function fills a rotation matrix from a set of vectors. More...
 
template<class TVectorType , class TMatrixType >
void ComputeEquivalentF (const Element &rElement, const TVectorType &rStrainTensor, TMatrixType &rF)
 This method computes the deformation gradient F (for small deformation solid elements) More...
 
template<class TMatrixType1 , class TMatrixType2 >
void CalculateB (const GeometricalObject &rElement, const TMatrixType1 &rDN_DX, TMatrixType2 &rB)
 This method computes the deformation tensor B (for small deformation solid elements) More...
 

Typedef Documentation

◆ GeometryType

Geometry definitions.

◆ IndexType

The index type definition.

◆ NodeType

Node type definition.

◆ SizeType

The size type definition.

Function Documentation

◆ BuildRotationMatrix()

void Kratos::StructuralMechanicsElementUtilities::BuildRotationMatrix ( BoundedMatrix< double, 3, 3 > &  rRotationMatrix,
const array_1d< double, 3 > &  rv1,
const array_1d< double, 3 > &  rv2,
const array_1d< double, 3 > &  rv3 
)

This function fills a rotation matrix from a set of vectors.

Parameters
rRotationMatrixThe rotation matrix from global to local axes

◆ CalculateB()

template<class TMatrixType1 , class TMatrixType2 >
void Kratos::StructuralMechanicsElementUtilities::CalculateB ( const GeometricalObject rElement,
const TMatrixType1 &  rDN_DX,
TMatrixType2 &  rB 
)

This method computes the deformation tensor B (for small deformation solid elements)

Parameters
rElementReference to the element
rDN_DXThe shape function derivatives
rBThe deformation tensor B
Template Parameters
TMatrixType1The first matrix type
TMatrixType2The second matrix type

◆ CalculateCurrentLength2D2N()

double Kratos::StructuralMechanicsElementUtilities::CalculateCurrentLength2D2N ( const Element rElement)

This function calculates the current length for 2D2N elements.

Parameters
rElementThe Element for which the current length should be computed
Returns
current length

◆ CalculateCurrentLength3D2N()

double Kratos::StructuralMechanicsElementUtilities::CalculateCurrentLength3D2N ( const Element rElement)

This function calculates the current length for 3D2N elements.

Parameters
rElementThe Element for which the current length should be computed
Returns
current length

◆ CalculateRayleighDampingMatrix()

void Kratos::StructuralMechanicsElementUtilities::CalculateRayleighDampingMatrix ( Element rElement,
Element::MatrixType rDampingMatrix,
const ProcessInfo rCurrentProcessInfo,
const std::size_t  MatrixSize 
)

Method to calculate the rayleigh damping-matrix.

Parameters
rElementThe Element for which the damping-matrix should be computed
rDampingMatrixThe damping-matrix of the element
rCurrentProcessInfoThe ProcessInfo where it is specified
MatrixSizeThe size of the damping-matrix

◆ CalculateReferenceLength2D2N()

double Kratos::StructuralMechanicsElementUtilities::CalculateReferenceLength2D2N ( const Element rElement)

This function calculates the reference length for 2D2N elements.

Parameters
rElementThe Element for which the reference length should be computed
Returns
reference length

◆ CalculateReferenceLength3D2N()

double Kratos::StructuralMechanicsElementUtilities::CalculateReferenceLength3D2N ( const Element rElement)

This function calculates the reference length for 3D2N elements.

Parameters
rElementThe Element for which the reference length should be computed
Returns
reference length

◆ ComputeEquivalentF()

template<class TVectorType , class TMatrixType >
void Kratos::StructuralMechanicsElementUtilities::ComputeEquivalentF ( const Element rElement,
const TVectorType &  rStrainTensor,
TMatrixType &  rF 
)

This method computes the deformation gradient F (for small deformation solid elements)

Parameters
rElementReference to the element
rStrainTensorThe strain tensor
rFThe deformation gradient F
Template Parameters
TVectorTypeThe vector type
TMatrixTypeThe matrix type

◆ ComputeLumpedMassMatrix()

bool Kratos::StructuralMechanicsElementUtilities::ComputeLumpedMassMatrix ( const Properties rProperties,
const ProcessInfo rCurrentProcessInfo 
)

Method to specify if the lumped or the consistent mass-matrix should be computed.

Parameters
rPropertiesThe Properties where it is specified
rCurrentProcessInfoThe ProcessInfo where it is specified
Returns
whether to compute the lumped mass-matrix

◆ GetBodyForce()

array_1d< double, 3 > Kratos::StructuralMechanicsElementUtilities::GetBodyForce ( const Element rElement,
const GeometryType::IntegrationPointsArrayType rIntegrationPoints,
const IndexType  PointNumber 
)

This method returns the computed the computed body force.

Parameters
rElementReference to the element
rIntegrationPointsThe integrations points
PointNumberThe integration point number

◆ GetDensityForMassMatrixComputation()

double Kratos::StructuralMechanicsElementUtilities::GetDensityForMassMatrixComputation ( const Element rElement)

Method to returns the density to be consider for the mass-matrix computation.

Parameters
rElementThe Element for which the mass-matrix should be computed
Returns
The density after apply the mass factor to the element

◆ GetRayleighAlpha()

double Kratos::StructuralMechanicsElementUtilities::GetRayleighAlpha ( const Properties rProperties,
const ProcessInfo rCurrentProcessInfo 
)

Method to get the rayleigh-alpha parameter.

Parameters
rPropertiesThe Properties where it is specified
rCurrentProcessInfoThe ProcessInfo where it is specified
Returns
rayleigh-alpha

◆ GetRayleighBeta()

double Kratos::StructuralMechanicsElementUtilities::GetRayleighBeta ( const Properties rProperties,
const ProcessInfo rCurrentProcessInfo 
)

Method to get the rayleigh-beta parameter.

Parameters
rPropertiesThe Properties where it is specified
rCurrentProcessInfoThe ProcessInfo where it is specified
Returns
rayleigh-beta

◆ HasRayleighDamping()

bool Kratos::StructuralMechanicsElementUtilities::HasRayleighDamping ( const Properties rProperties,
const ProcessInfo rCurrentProcessInfo 
)

Method to specify if rayligh-damping is specified.

Parameters
rPropertiesThe Properties where it is specified
rCurrentProcessInfoThe ProcessInfo where it is specified
Returns
whether rayleigh-damping was specified

◆ InitialCheckLocalAxes()

void Kratos::StructuralMechanicsElementUtilities::InitialCheckLocalAxes ( const array_1d< double, 3 > &  rv1,
const array_1d< double, 3 > &  rv2,
const array_1d< double, 3 > &  rv3,
const double  Tolerance = 1.0e4 *std::numeric_limits< double >::epsilon() 
)

This function checks the norm of the vectors.

Parameters
rviThe vector of which norm has to be different from null

◆ SolidElementCheck()

int Kratos::StructuralMechanicsElementUtilities::SolidElementCheck ( const Element rElement,
const ProcessInfo rCurrentProcessInfo,
const std::vector< ConstitutiveLaw::Pointer > &  rConstitutiveLaws 
)

This method performs commons checks on the solid elements.

Parameters
rElementReference to the element
rCurrentProcessInfoThe current process info instance
rConstitutiveLawsThe vector containing CL