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.
|
This class includes several utilities necessaries for the computation of the constitutive law. More...
#include <constitutive_law_utilities.h>
Static Public Member Functions | |
static int | GetStateVariableIndex (const Variable< double > &rThisVariable) |
Operations | |
static void | CalculateElasticMatrix (Matrix &rConstitutiveMatrix, const double E, const double nu) |
This method computes the elastic ConstitutiveMatrix. More... | |
static void | CalculateDeviatoricStrainVector (const Vector &rStrainVector, const Vector &rVolumetricStrainVector, Vector &rDeviatoricStrainVector) |
This method computes the deviatoric part of the strain. More... | |
static void | CalculateVolumetricStrainVector (const Vector &rStrainVector, Vector &rVolumetricStrainVector) |
This method computes the volumetric part of the strain. More... | |
static void | CalculateIdentityVector (BoundedVectorType &rIdentityVector) |
This method creates an identity vector. More... | |
static double | CalculateBulkModulus (const double YoungModulus, const double PoissonRatio) |
This method computes the Bulk modulus K = E / (2(1+nu)) More... | |
static double | CalculateShearModulus (const double YoungModulus, const double PoissonRatio) |
This method computes the Shear modulus G = E / (3(1-2nu)) More... | |
static void | CalculateI1Invariant (const BoundedVectorType &rStressVector, double &rI1) |
This method computes the first invariant from a given stress vector. More... | |
static void | CalculateI2Invariant (const BoundedVectorType &rStressVector, double &rI2) |
This method computes the second invariant from a given stress vector. More... | |
static void | CalculateI3Invariant (const BoundedVectorType &rStressVector, double &rI3) |
This method computes the third invariant from a given stress vector. More... | |
static void | CalculateJ2Invariant (const BoundedVectorType &rStressVector, const double I1, BoundedVectorType &rDeviator, double &rJ2) |
This method computes the second invariant of J. More... | |
static void | CalculateJ3Invariant (const BoundedVectorType &rDeviator, double &rJ3) |
This method computes the third invariant of J. More... | |
static void | CalculateFirstVector (BoundedVectorType &rFirstVector) |
This method computes the first vector. More... | |
static void | CalculateSecondVector (const BoundedVectorType &rDeviator, const double J2, BoundedVectorType &rSecondVector) |
This method computes the second vector. More... | |
static void | CalculateThirdVector (const BoundedVectorType &rDeviator, const double J2, BoundedVectorType &rThirdVector) |
This method computes the third vector. More... | |
static void | CalculateLodeAngle (const double J2, const double J3, double &rLodeAngle) |
This method computes the lode angle. More... | |
static void | CalculatePrincipalStresses (array_1d< double, Dimension > &rPrincipalStressVector, const BoundedVectorType &rStressVector) |
This method computes the principal stresses vector. More... | |
static void | CalculatePrincipalStressesWithCardano (array_1d< double, Dimension > &rPrincipalStressVector, const BoundedVectorType &rStressVector) |
This method computes the principal stresses vector. More... | |
static void | CalculateEquivalentStressHuberVonMises (const BoundedVectorType &rPredictiveStressVector, const Vector &rStrainVector, double &rEquivalentStress, ConstitutiveLaw::Parameters &rValues) |
This method the uniaxial equivalent stress of Huber-VonMises. More... | |
static void | CalculateEquivalentStressModifiedMohrCoulomb (const BoundedVectorType &rPredictiveStressVector, const Vector &rStrainVector, double &rEquivalentStress, ConstitutiveLaw::Parameters &rValues) |
This method the uniaxial equivalent stress of ModifiedMohrCoulomb. More... | |
static void | CalculateEquivalentStressMohrCoulomb (const BoundedVectorType &rPredictiveStressVector, const Vector &rStrainVector, double &rEquivalentStress, ConstitutiveLaw::Parameters &rValues) |
This method the uniaxial equivalent stress of MohrCoulomb. More... | |
static void | CalculateEquivalentStressRankine (const BoundedVectorType &rPredictiveStressVector, const Vector &rStrainVector, double &rEquivalentStress, ConstitutiveLaw::Parameters &rValues) |
This method the uniaxial equivalent stress of Rankine. More... | |
static void | CalculateEquivalentStressTresca (const BoundedVectorType &rPredictiveStressVector, const Vector &rStrainVector, double &rEquivalentStress, ConstitutiveLaw::Parameters &rValues) |
This method the uniaxial equivalent stress of Tresca. More... | |
static void | CalculateEquivalentStressSimoJu (const BoundedVectorType &rPredictiveStressVector, const Vector &rStrainVector, double &rEquivalentStress, ConstitutiveLaw::Parameters &rValues) |
This method the uniaxial equivalent stress of SimoJu. More... | |
static void | CalculateEquivalentStressDruckerPrager (const BoundedVectorType &rPredictiveStressVector, const Vector &rStrainVector, double &rEquivalentStress, ConstitutiveLaw::Parameters &rValues) |
This method the uniaxial equivalent stress of Drucker-Prager. More... | |
static void | GetInitialUniaxialThresholdHuberVonMises (ConstitutiveLaw::Parameters &rValues, double &rThreshold) |
This method returns the initial uniaxial stress threshold for VonMises. More... | |
static void | GetInitialUniaxialThresholdModifiedMohrCoulomb (ConstitutiveLaw::Parameters &rValues, double &rThreshold) |
This method returns the initial uniaxial stress threshold for ModifiedMohrCoulomb. More... | |
static void | GetInitialUniaxialThresholdMohrCoulomb (ConstitutiveLaw::Parameters &rValues, double &rThreshold) |
This method returns the initial uniaxial stress threshold for MohrCoulomb. More... | |
static void | GetInitialUniaxialThresholdRankine (ConstitutiveLaw::Parameters &rValues, double &rThreshold) |
This method returns the initial uniaxial stress threshold for Rankine. More... | |
static void | GetInitialUniaxialThresholdTresca (ConstitutiveLaw::Parameters &rValues, double &rThreshold) |
This method returns the initial uniaxial stress threshold for Tresca. More... | |
static void | GetInitialUniaxialThresholdSimoJu (ConstitutiveLaw::Parameters &rValues, double &rThreshold) |
This method returns the initial uniaxial stress threshold for SimoJu. More... | |
static void | GetInitialUniaxialThresholdDruckerPrager (ConstitutiveLaw::Parameters &rValues, double &rThreshold) |
This method returns the initial uniaxial stress threshold for SimoJu. More... | |
static void | CalculateDamageParameterHuberVonMises (ConstitutiveLaw::Parameters &rValues, double &rAParameter, const double CharacteristicLength) |
This method returns the damage parameter needed in the exp/linear expressions of damage. More... | |
static void | CalculateDamageParameterModifiedMohrCoulomb (ConstitutiveLaw::Parameters &rValues, double &rAParameter, const double CharacteristicLength) |
This method returns the damage parameter needed in the exp/linear expressions of damage. More... | |
static void | CalculateDamageParameterMohrCoulomb (ConstitutiveLaw::Parameters &rValues, double &rAParameter, const double CharacteristicLength) |
This method returns the damage parameter needed in the exp/linear expressions of damage. More... | |
static void | CalculateDamageParameterRankine (ConstitutiveLaw::Parameters &rValues, double &rAParameter, const double CharacteristicLength) |
This method returns the damage parameter needed in the exp/linear expressions of damage. More... | |
static void | CalculateDamageParameterTresca (ConstitutiveLaw::Parameters &rValues, double &rAParameter, const double CharacteristicLength) |
This method returns the damage parameter needed in the exp/linear expressions of damage. More... | |
static void | CalculateDamageParameterSimoJu (ConstitutiveLaw::Parameters &rValues, double &rAParameter, const double CharacteristicLength) |
This method returns the damage parameter needed in the exp/linear expressions of damage. More... | |
static void | CalculateDamageParameterDruckerPrager (ConstitutiveLaw::Parameters &rValues, double &rAParameter, const double CharacteristicLength) |
This method returns the damage parameter needed in the exp/linear expressions of damage. More... | |
static double | GetMaxValue (const Vector &rValues) |
This method returns max value over a vector. More... | |
static double | GetMaxAbsValue (const Vector &rArrayValues) |
This method returns max abs value over a vector. More... | |
static double | GetMinAbsValue (const Vector &rArrayValues) |
This method returns min abs value over a vector. More... | |
static void | Get2MaxValues (Vector &rMaxValues, const double a, const double b, const double c) |
This method returns the 2 max values of a vector. More... | |
static void | CalculateHenckyStrain (const MatrixType &rCauchyTensor, VectorType &rStrainVector) |
Calculation of the Hencky strain vector (true strain, natural strain, logarithmic strain) More... | |
static void | CalculateBiotStrain (const MatrixType &rCauchyTensor, VectorType &rStrainVector) |
Calculation of the Biot strain vector. More... | |
static void | CalculateAlmansiStrain (const MatrixType &rLeftCauchyTensor, VectorType &rStrainVector) |
Calculation of the Almansi strain vector. More... | |
static void | CalculateGreenLagrangianStrain (const MatrixType &rCauchyTensor, VectorType &rStrainVector) |
Calculation of the Green-Lagrange strain vector. More... | |
static void | CalculateGreenLagrangianStrain (const MatrixType &rCauchyTensor, VectorType &rStrainVector) |
Calculation of the Green-Lagrange strain vector. More... | |
static void | PolarDecomposition (const MatrixType &rFDeformationGradient, MatrixType &rRMatrix, MatrixType &rUMatrix) |
The deformation gradient F, like any invertible second-order tensor, can be decomposed, using the polar decomposition theorem, into a product of two second-order tensors (Truesdell and Noll, 1965): an orthogonal tensor and a positive definite symmetric tensor, i.e F = R U. More... | |
static void | CalculateProjectionOperator (const Vector &rStrainVector, MatrixType &rProjectionOperator) |
This method calculates the projection operator and calculates the Projection Operator. More... | |
template<class TVector > | |
static void | CalculateI1Invariant (const TVector &rStressVector, double &rI1) |
This method computes the first invariant from a given stress vector. More... | |
template<class TVector > | |
static void | CalculateJ2Invariant (const TVector &rStressVector, const double I1, BoundedVectorType &rDeviator, double &rJ2) |
This method computes the second invariant of J. More... | |
template<class TVector > | |
static double | CalculateVonMisesEquivalentStress (const TVector &rStressVector) |
This method the uniaxial equivalent stress for Von Mises. More... | |
static void | CalculateRotationOperatorVoigt (const BoundedMatrixType &rOldOperator, BoundedMatrixVoigtType &rNewOperator) |
This converts the 3x3 rotation matrix to the 6x6 Cook et al., "Concepts and applications
of finite element analysis". More... | |
template<class TVector > | |
static void | CheckAndNormalizeVector (TVector &rVector) |
This checks if a vector has null norm. More... | |
static void | CalculateElasticMatrixPlaneStress (MatrixType &rC, const double E, const double NU) |
static void | CalculateElasticMatrixPlaneStrain (MatrixType &rC, const double E, const double N) |
static void | CalculateElasticMatrix (MatrixType &rC, const double E, const double N) |
static void | CalculateCauchyGreenStrain (ConstitutiveLaw::Parameters &rValues, ConstitutiveLaw::StrainVectorType &rStrainVector) |
It calculates the strain vector. More... | |
static void | CalculatePK2StressFromStrain (ConstitutiveLaw::StressVectorType &rStressVector, const ConstitutiveLaw::StrainVectorType &rStrainVector, const double YoungModulus, const double PoissonRatio) |
static void | CalculatePK2StressFromStrainPlaneStress (ConstitutiveLaw::StressVectorType &rStressVector, const ConstitutiveLaw::StrainVectorType &rStrainVector, const double YoungModulus, const double PoissonRatio) |
static void | CalculatePK2StressFromStrainPlaneStrain (ConstitutiveLaw::StressVectorType &rStressVector, const ConstitutiveLaw::StrainVectorType &rStrainVector, const double YoungModulus, const double PoissonRatio) |
Type definitions | |
typedef std::size_t | IndexType |
The index type definition. More... | |
typedef Matrix | MatrixType |
The matrix type definition. More... | |
typedef Vector | VectorType |
the vector type definition More... | |
typedef array_1d< double, VoigtSize > | BoundedVectorType |
The definition of the bounded vector type. More... | |
typedef BoundedMatrix< double, Dimension, Dimension > | BoundedMatrixType |
The definition of the bounded matrix type. More... | |
typedef Node | NodeType |
Node type definition. More... | |
typedef Geometry< NodeType > | GeometryType |
Geometry definitions. More... | |
typedef std::size_t | IndexType |
The index type definition. More... | |
typedef Matrix | MatrixType |
The matrix type definition. More... | |
typedef Vector | VectorType |
the vector type definition More... | |
typedef array_1d< double, VoigtSize > | BoundedVectorType |
The definition of the bounded vector type. More... | |
typedef BoundedMatrix< double, Dimension, Dimension > | BoundedMatrixType |
The definition of the bounded matrix type. More... | |
typedef BoundedMatrix< double, VoigtSize, VoigtSize > | BoundedMatrixVoigtType |
The definition of the bounded matrix type. More... | |
typedef Node | NodeType |
Node type definition. More... | |
typedef Geometry< NodeType > | GeometryType |
Geometry definitions. More... | |
static constexpr SizeType | Dimension = TVoigtSize == 6 ? 3 : 2 |
We define the dimension. More... | |
static constexpr SizeType | VoigtSize = TVoigtSize |
We define the Voigt size. More... | |
static constexpr double | tolerance = std::numeric_limits<double>::epsilon() |
The zero tolerance. More... | |
This class includes several utilities necessaries for the computation of the constitutive law.
/
The methods are static, so it can be called without constructing the class
TVoigtSize | The number of components on the Voigt notation |
The methods are static, so it can be called without constructing the class
TVoigtSize | The number of components on the Voigt notation |
typedef BoundedMatrix<double, Dimension, Dimension> Kratos::ConstitutiveLawUtilities< TVoigtSize >::BoundedMatrixType |
The definition of the bounded matrix type.
typedef BoundedMatrix<double, Dimension, Dimension> Kratos::ConstitutiveLawUtilities< TVoigtSize >::BoundedMatrixType |
The definition of the bounded matrix type.
typedef BoundedMatrix<double, VoigtSize, VoigtSize> Kratos::ConstitutiveLawUtilities< TVoigtSize >::BoundedMatrixVoigtType |
The definition of the bounded matrix type.
typedef array_1d<double, VoigtSize> Kratos::ConstitutiveLawUtilities< TVoigtSize >::BoundedVectorType |
The definition of the bounded vector type.
typedef array_1d<double, VoigtSize> Kratos::ConstitutiveLawUtilities< TVoigtSize >::BoundedVectorType |
The definition of the bounded vector type.
typedef Geometry<NodeType> Kratos::ConstitutiveLawUtilities< TVoigtSize >::GeometryType |
Geometry definitions.
typedef Geometry<NodeType> Kratos::ConstitutiveLawUtilities< TVoigtSize >::GeometryType |
Geometry definitions.
typedef std::size_t Kratos::ConstitutiveLawUtilities< TVoigtSize >::IndexType |
The index type definition.
typedef std::size_t Kratos::ConstitutiveLawUtilities< TVoigtSize >::IndexType |
The index type definition.
typedef Matrix Kratos::ConstitutiveLawUtilities< TVoigtSize >::MatrixType |
The matrix type definition.
typedef Matrix Kratos::ConstitutiveLawUtilities< TVoigtSize >::MatrixType |
The matrix type definition.
typedef Node Kratos::ConstitutiveLawUtilities< TVoigtSize >::NodeType |
Node type definition.
typedef Node Kratos::ConstitutiveLawUtilities< TVoigtSize >::NodeType |
Node type definition.
typedef Vector Kratos::ConstitutiveLawUtilities< TVoigtSize >::VectorType |
the vector type definition
typedef Vector Kratos::ConstitutiveLawUtilities< TVoigtSize >::VectorType |
the vector type definition
|
static |
Calculation of the Almansi strain vector.
rLeftCauchyTensor | The left Cauchy tensor |
rStrainVector | The Almansi strain vector |
|
static |
Calculation of the Biot strain vector.
rCauchyTensor | The right Cauchy tensor |
rStrainVector | The Biot strain vector |
|
static |
This method computes the Bulk modulus K = E / (2(1+nu))
rValues | Parameters of the constitutive law |
|
static |
It calculates the strain vector.
rValues | The internal values of the law |
rStrainVector | The strain vector in Voigt notation |
|
inlinestatic |
This method returns the damage parameter needed in the exp/linear expressions of damage.
rAParameter | The damage parameter |
rValues | Parameters of the constitutive law |
CharacteristicLength | The equivalent length of the FE |
|
inlinestatic |
This method returns the damage parameter needed in the exp/linear expressions of damage.
rAParameter | The damage parameter |
rValues | Parameters of the constitutive law |
CharacteristicLength | The equivalent length of the FE |
|
inlinestatic |
This method returns the damage parameter needed in the exp/linear expressions of damage.
rAParameter | The damage parameter |
rValues | Parameters of the constitutive law |
CharacteristicLength | The equivalent length of the FE |
|
inlinestatic |
This method returns the damage parameter needed in the exp/linear expressions of damage.
rAParameter | The damage parameter |
rValues | Parameters of the constitutive law |
CharacteristicLength | The equivalent length of the FE |
|
inlinestatic |
This method returns the damage parameter needed in the exp/linear expressions of damage.
rAParameter | The damage parameter |
rValues | Parameters of the constitutive law |
CharacteristicLength | The equivalent length of the FE |
|
inlinestatic |
This method returns the damage parameter needed in the exp/linear expressions of damage.
rAParameter | The damage parameter |
rValues | Parameters of the constitutive law |
CharacteristicLength | The equivalent length of the FE |
|
inlinestatic |
This method returns the damage parameter needed in the exp/linear expressions of damage.
rAParameter | The damage parameter |
rValues | Parameters of the constitutive law |
CharacteristicLength | The equivalent length of the FE |
|
static |
This method computes the deviatoric part of the strain.
rStrainVector | The total strain |
rVolumetricStrainVector | The volumetric strain part |
rDeviatoricStrainVector | The deviatoric strain part |
void Kratos::ConstitutiveLawUtilities< 6 >::CalculateElasticMatrix | ( | Matrix & | rConstitutiveMatrix, |
const double | E, | ||
const double | nu | ||
) |
void Kratos::ConstitutiveLawUtilities< 3 >::CalculateElasticMatrix | ( | Matrix & | rConstitutiveMatrix, |
const double | E, | ||
const double | nu | ||
) |
|
static |
This method computes the elastic ConstitutiveMatrix.
|
static |
It calculates the constitutive matrix C in 3D
rC | The constitutive matrix |
YoungModulus | The elasticity modulus |
PoissonRatio | The poisson ratio |
|
static |
It calculates the constitutive matrix C in 2D plane strain
rC | The constitutive matrix |
YoungModulus | The elasticity modulus |
PoissonRatio | The poisson ratio |
|
static |
It calculates the constitutive matrix C in 2D plane stress
rC | The constitutive matrix |
YoungModulus | The elasticity modulus |
PoissonRatio | The poisson ratio |
|
inlinestatic |
This method the uniaxial equivalent stress of Drucker-Prager.
rPredictiveStressVector | The predictive stress vector S = C:(E-Ep) |
rStrainVector | The StrainVector vector |
rValues | Parameters of the constitutive law |
|
inlinestatic |
This method the uniaxial equivalent stress of Huber-VonMises.
rPredictiveStressVector | The predictive stress vector S = C:(E-Ep) |
rStrainVector | The StrainVector vector |
rValues | Parameters of the constitutive law |
|
inlinestatic |
This method the uniaxial equivalent stress of ModifiedMohrCoulomb.
rPredictiveStressVector | The predictive stress vector S = C:(E-Ep) |
rStrainVector | The StrainVector vector |
rValues | Parameters of the constitutive law |
|
inlinestatic |
This method the uniaxial equivalent stress of MohrCoulomb.
rPredictiveStressVector | The predictive stress vector S = C:(E-Ep) |
rStrainVector | The StrainVector vector |
rValues | Parameters of the constitutive law |
|
inlinestatic |
This method the uniaxial equivalent stress of Rankine.
rPredictiveStressVector | The predictive stress vector S = C:(E-Ep) |
rStrainVector | The StrainVector vector |
rValues | Parameters of the constitutive law |
|
inlinestatic |
This method the uniaxial equivalent stress of SimoJu.
rPredictiveStressVector | The predictive stress vector S = C:(E-Ep) |
rStrainVector | The StrainVector vector |
rValues | Parameters of the constitutive law |
|
inlinestatic |
This method the uniaxial equivalent stress of Tresca.
rPredictiveStressVector | The predictive stress vector S = C:(E-Ep) |
rStrainVector | The StrainVector vector |
rValues | Parameters of the constitutive law |
void Kratos::ConstitutiveLawUtilities< 6 >::CalculateFirstVector | ( | BoundedVectorType & | rFirstVector | ) |
void Kratos::ConstitutiveLawUtilities< 3 >::CalculateFirstVector | ( | BoundedVectorType & | rFirstVector | ) |
|
static |
This method computes the first vector.
rFirstVector | The first vector |
|
static |
Calculation of the Green-Lagrange strain vector.
rCauchyTensor | The right Cauchy tensor |
rStrainVector | The Green-Lagrange strain vector |
|
static |
Calculation of the Green-Lagrange strain vector.
rCauchyTensor | The right Cauchy tensor |
rStrainVector | The Green-Lagrange strain vector |
|
static |
Calculation of the Hencky strain vector (true strain, natural strain, logarithmic strain)
rCauchyTensor | The right Cauchy tensor |
rStrainVector | The Hencky strain vector |
|
static |
This method computes the first invariant from a given stress vector.
rStressVector | The stress vector on Voigt notation |
rI1 | The first invariant |
|
inlinestatic |
This method computes the first invariant from a given stress vector.
rStressVector | The stress vector on Voigt notation |
rI1 | The first invariant |
TVector | The themplate for the vector class |
void Kratos::ConstitutiveLawUtilities< 6 >::CalculateI2Invariant | ( | const BoundedVectorType & | rStressVector, |
double & | rI2 | ||
) |
void Kratos::ConstitutiveLawUtilities< 3 >::CalculateI2Invariant | ( | const BoundedVectorType & | rStressVector, |
double & | rI2 | ||
) |
|
static |
This method computes the second invariant from a given stress vector.
rStressVector | The stress vector on Voigt notation |
rI2 | The second invariant |
void Kratos::ConstitutiveLawUtilities< 6 >::CalculateI3Invariant | ( | const BoundedVectorType & | rStressVector, |
double & | rI3 | ||
) |
void Kratos::ConstitutiveLawUtilities< 3 >::CalculateI3Invariant | ( | const BoundedVectorType & | rStressVector, |
double & | rI3 | ||
) |
|
static |
This method computes the third invariant from a given stress vector.
rStressVector | The stress vector on Voigt notation |
rI3 | The third invariant |
|
inlinestatic |
This method creates an identity vector.
rIdentityVector | The resulting Identity Vector |
void Kratos::ConstitutiveLawUtilities< 6 >::CalculateJ2Invariant | ( | const BoundedVectorType & | rStressVector, |
const double | I1, | ||
BoundedVectorType & | rDeviator, | ||
double & | rJ2 | ||
) |
void Kratos::ConstitutiveLawUtilities< 3 >::CalculateJ2Invariant | ( | const BoundedVectorType & | rStressVector, |
const double | I1, | ||
BoundedVectorType & | rDeviator, | ||
double & | rJ2 | ||
) |
|
static |
This method computes the second invariant of J.
rStressVector | The stress vector on Voigt notation |
I1 | The first invariant |
rDeviator | The deviator of the stress |
rJ2 | The second invariant of J |
|
inlinestatic |
This method computes the second invariant of J.
rStressVector | The stress vector on Voigt notation |
I1 | The first invariant |
rDeviator | The deviator of the stress |
rJ2 | The second invariant of J |
TVector | The themplate for the vector class |
void Kratos::ConstitutiveLawUtilities< 6 >::CalculateJ3Invariant | ( | const BoundedVectorType & | rDeviator, |
double & | rJ3 | ||
) |
void Kratos::ConstitutiveLawUtilities< 3 >::CalculateJ3Invariant | ( | const BoundedVectorType & | rDeviator, |
double & | rJ3 | ||
) |
|
static |
This method computes the third invariant of J.
rDeviator | The deviator of the stress |
rJ3 | The third invariant of J |
|
static |
This method computes the lode angle.
J2 | The resultant J2 stress |
J3 | The resultant J3 stress |
rLodeAngle | The lode angle |
|
static |
It calculates elastic stress from strain and E and NU for 3D elasticity
rStressVector | The stress vector |
rStrainVector | The strain vector |
YoungModulus | The elasticity modulus |
PoissonRatio | The poisson ratio |
|
static |
It calculates elastic stress from strain and E and NU for plane strain elasticity
rStressVector | The stress vector |
rStrainVector | The strain vector |
YoungModulus | The elasticity modulus |
PoissonRatio | The poisson ratio |
|
static |
It calculates elastic stress from strain and E and NU in plane stress elasticity
rStressVector | The stress vector |
rStrainVector | The strain vector |
YoungModulus | The elasticity modulus |
PoissonRatio | The poisson ratio |
void Kratos::ConstitutiveLawUtilities< 6 >::CalculatePrincipalStresses | ( | array_1d< double, Dimension > & | rPrincipalStressVector, |
const BoundedVectorType & | rStressVector | ||
) |
void Kratos::ConstitutiveLawUtilities< 3 >::CalculatePrincipalStresses | ( | array_1d< double, Dimension > & | rPrincipalStressVector, |
const BoundedVectorType & | rStressVector | ||
) |
|
static |
This method computes the principal stresses vector.
http://www.continuummechanics.org/principalstress.html
rPrincipalStressVector | The vector of principal stresses |
rStressVector | The vector of stresses |
|
static |
This method computes the principal stresses vector.
Using Cardano formula and renormalizing (TODO)
rPrincipalStressVector | The vector of principal stresses |
rStressVector | The vector of stresses |
|
static |
This method calculates the projection operator and calculates the Projection Operator.
see "An energy-Equivalent" d+/d- Damage model with Enhanced Microcrack Closure/Reopening Capabilities for Cohesive-Frictional Materials" - M. Cervera and C. Tesei.
rStrainVector | The Strain Vector |
rProjectionOperator | The projection operator |
void Kratos::ConstitutiveLawUtilities< 6 >::CalculateProjectionOperator | ( | const Vector & | rStrainVector, |
MatrixType & | rProjectionOperatorTensor | ||
) |
void Kratos::ConstitutiveLawUtilities< 3 >::CalculateProjectionOperator | ( | const Vector & | rStrainVector, |
MatrixType & | rProjectionOperatorTensor | ||
) |
|
static |
This converts the 3x3 rotation matrix to the 6x6 Cook et al., "Concepts and applications of finite element analysis".
void Kratos::ConstitutiveLawUtilities< 6 >::CalculateSecondVector | ( | const BoundedVectorType & | rDeviator, |
const double | J2, | ||
BoundedVectorType & | rSecondVector | ||
) |
void Kratos::ConstitutiveLawUtilities< 3 >::CalculateSecondVector | ( | const BoundedVectorType & | rDeviator, |
const double | J2, | ||
BoundedVectorType & | rSecondVector | ||
) |
|
static |
This method computes the second vector.
rDeviator | The deviator of the stress |
J2 | The resultant J2 stress |
rSecondVector | The second vector |
|
static |
This method computes the Shear modulus G = E / (3(1-2nu))
rValues | Parameters of the constitutive law |
void Kratos::ConstitutiveLawUtilities< 6 >::CalculateThirdVector | ( | const BoundedVectorType & | rDeviator, |
const double | J2, | ||
BoundedVectorType & | rThirdVector | ||
) |
void Kratos::ConstitutiveLawUtilities< 3 >::CalculateThirdVector | ( | const BoundedVectorType & | rDeviator, |
const double | J2, | ||
BoundedVectorType & | rThirdVector | ||
) |
|
static |
This method computes the third vector.
rDeviator | The deviator of the stress |
J2 | The resultant J2 stress |
rThirdVector | The third vector |
|
static |
This method computes the volumetric part of the strain.
rStrainVector | The total strain |
rVolumetricStrainVector | The volumetric strain part |
|
inlinestatic |
This method the uniaxial equivalent stress for Von Mises.
rStressVector | The stress vector S = C:E |
TVector | The themplate for the vector class |
|
inlinestatic |
This checks if a vector has null norm.
|
inlinestatic |
This method returns the 2 max values of a vector.
rValues | The values |
|
inlinestatic |
This method returns the initial uniaxial stress threshold for SimoJu.
rThreshold | The uniaxial stress threshold |
rValues | Parameters of the constitutive law |
|
inlinestatic |
This method returns the initial uniaxial stress threshold for VonMises.
rThreshold | The uniaxial stress threshold |
rValues | Parameters of the constitutive law |
|
inlinestatic |
This method returns the initial uniaxial stress threshold for ModifiedMohrCoulomb.
rThreshold | The uniaxial stress threshold |
rValues | Parameters of the constitutive law |
|
inlinestatic |
This method returns the initial uniaxial stress threshold for MohrCoulomb.
rThreshold | The uniaxial stress threshold |
rValues | Parameters of the constitutive law |
|
inlinestatic |
This method returns the initial uniaxial stress threshold for Rankine.
rThreshold | The uniaxial stress threshold |
rValues | Parameters of the constitutive law |
|
inlinestatic |
This method returns the initial uniaxial stress threshold for SimoJu.
rThreshold | The uniaxial stress threshold |
rValues | Parameters of the constitutive law |
|
inlinestatic |
This method returns the initial uniaxial stress threshold for Tresca.
rThreshold | The uniaxial stress threshold |
rValues | Parameters of the constitutive law |
|
inlinestatic |
This method returns max abs value over a vector.
rValues | The values |
|
inlinestatic |
This method returns max value over a vector.
rValues | The values |
|
inlinestatic |
This method returns min abs value over a vector.
rValues | The values |
|
static |
|
static |
The deformation gradient F, like any invertible second-order tensor, can be decomposed, using the polar decomposition theorem, into a product of two second-order tensors (Truesdell and Noll, 1965): an orthogonal tensor and a positive definite symmetric tensor, i.e F = R U.
rFDeformationGradient | The deformation gradient |
rRMatrix | The rotation component |
rUMatrix | The pure displacement component |
|
staticconstexpr |
We define the dimension.
|
staticconstexpr |
The zero tolerance.
|
staticconstexpr |
We define the Voigt size.