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 defines an small strain orthotropic damage model developed by Cervera et. al in "Appraisement of planar, bending and twisting cracks in 3D with isotropic and orthotropic damage models" International Journal of Fracture. More...
#include <generic_small_strain_orthotropic_damage.h>
Public Member Functions | |
Life Cycle | |
GenericSmallStrainOrthotropicDamage () | |
ConstitutiveLaw::Pointer | Clone () const override |
GenericSmallStrainOrthotropicDamage (const GenericSmallStrainOrthotropicDamage &rOther) | |
~GenericSmallStrainOrthotropicDamage () override | |
Operations | |
void | CalculateMaterialResponsePK1 (ConstitutiveLaw::Parameters &rValues) override |
Computes the material response in terms of 1st Piola-Kirchhoff stresses and constitutive tensor. More... | |
void | CalculateMaterialResponsePK2 (ConstitutiveLaw::Parameters &rValues) override |
Computes the material response in terms of 2nd Piola-Kirchhoff stresses and constitutive tensor. More... | |
void | CalculateMaterialResponseKirchhoff (ConstitutiveLaw::Parameters &rValues) override |
Computes the material response in terms of Kirchhoff stresses and constitutive tensor. More... | |
void | CalculateMaterialResponseCauchy (ConstitutiveLaw::Parameters &rValues) override |
Computes the material response in terms of Cauchy stresses and constitutive tensor. More... | |
void | InitializeMaterial (const Properties &rMaterialProperties, const GeometryType &rElementGeometry, const Vector &rShapeFunctionsValues) override |
This is to be called at the very beginning of the calculation. More... | |
void | FinalizeMaterialResponsePK1 (ConstitutiveLaw::Parameters &rValues) override |
Finalize the material response in terms of 1st Piola-Kirchhoff stresses. More... | |
void | FinalizeMaterialResponsePK2 (ConstitutiveLaw::Parameters &rValues) override |
Finalize the material response in terms of 2nd Piola-Kirchhoff stresses. More... | |
void | FinalizeMaterialResponseKirchhoff (ConstitutiveLaw::Parameters &rValues) override |
Finalize the material response in terms of Kirchhoff stresses. More... | |
void | FinalizeMaterialResponseCauchy (ConstitutiveLaw::Parameters &rValues) override |
bool | Has (const Variable< double > &rThisVariable) override |
Returns whether this constitutive Law has specified variable (double) More... | |
bool | Has (const Variable< Vector > &rThisVariable) override |
Returns whether this constitutive Law has specified variable (Vector) More... | |
bool | Has (const Variable< Matrix > &rThisVariable) override |
Returns whether this constitutive Law has specified variable (Matrix) More... | |
void | SetValue (const Variable< Vector > &rThisVariable, const Vector &rValue, const ProcessInfo &rCurrentProcessInfo) override |
Sets the value of a specified variable (Vector) More... | |
double & | GetValue (const Variable< double > &rThisVariable, double &rValue) override |
Returns the value of a specified variable (double) More... | |
Vector & | GetValue (const Variable< Vector > &rThisVariable, Vector &rValue) override |
Returns the value of a specified variable (Vector) More... | |
Matrix & | GetValue (const Variable< Matrix > &rThisVariable, Matrix &rValue) override |
Returns the value of a specified variable (matrix) More... | |
bool | RequiresFinalizeMaterialResponse () override |
If the CL requires to initialize the material response, called by the element in InitializeSolutionStep. More... | |
bool | RequiresInitializeMaterialResponse () override |
If the CL requires to initialize the material response, called by the element in InitializeSolutionStep. More... | |
double & | CalculateValue (ConstitutiveLaw::Parameters &rParameterValues, const Variable< double > &rThisVariable, double &rValue) override |
Returns the value of a specified variable (double) More... | |
Vector & | CalculateValue (ConstitutiveLaw::Parameters &rParameterValues, const Variable< Vector > &rThisVariable, Vector &rValue) override |
Returns the value of a specified variable (vector) More... | |
Matrix & | CalculateValue (ConstitutiveLaw::Parameters &rParameterValues, const Variable< Matrix > &rThisVariable, Matrix &rValue) override |
Returns the value of a specified variable (matrix) More... | |
int | Check (const Properties &rMaterialProperties, const GeometryType &rElementGeometry, const ProcessInfo &rCurrentProcessInfo) const override |
This function provides the place to perform checks on the completeness of the input. More... | |
void | CalculateTangentTensor (ConstitutiveLaw::Parameters &rValues) |
This method computes the tangent tensor. More... | |
void | CalculateSecantTensor (Matrix &rSecantTensor, ConstitutiveLaw::Parameters &rValues, const Vector &rDamages) |
This method computes the secant tensor uin the principal direction axis. More... | |
void | CalculateRotationMatrix (Matrix &rRotationTensor, Matrix rEigenVectorsMatrix, const Matrix &rEigenValuesMatrix) |
This method computes the rotation tensor from principal stresses axis to global. More... | |
Protected Member Functions | |
Protected Operations | |
Vector & | GetThresholds () |
Vector & | GetDamages () |
void | SetThresholds (const Vector &rToThresholds) |
void | SetDamages (const Vector &rToDamages) |
Type Definitions | |
typedef std::conditional< VoigtSize==6, ElasticIsotropic3D, LinearPlaneStrain >::type | BaseType |
Definition of the base class. More... | |
typedef Node | NodeType |
The node definition. More... | |
typedef Geometry< NodeType > | GeometryType |
The geometry definition. More... | |
static constexpr SizeType | Dimension = TConstLawIntegratorType::Dimension |
The define the working dimension size, already defined in the integrator. More... | |
static constexpr SizeType | VoigtSize = TConstLawIntegratorType::VoigtSize |
The define the Voigt size, already defined in the integrator. More... | |
static constexpr double | tolerance = std::numeric_limits<double>::epsilon() |
Definition of the machine precision tolerance. More... | |
KRATOS_CLASS_POINTER_DEFINITION (GenericSmallStrainOrthotropicDamage) | |
Counted pointer of GenericYieldSurface. More... | |
Un accessible methods | |
class | Serializer |
This class defines an small strain orthotropic damage model developed by Cervera et. al in "Appraisement of planar, bending and twisting cracks in 3D with isotropic and orthotropic damage models" International Journal of Fracture.
This class considers a constitutive law integrator as an intermediate utility to compute the damage
TConstLawIntegratorType | The constitutive law integrator considered |
typedef std::conditional<VoigtSize == 6, ElasticIsotropic3D, LinearPlaneStrain >::type Kratos::GenericSmallStrainOrthotropicDamage< TConstLawIntegratorType >::BaseType |
Definition of the base class.
typedef Geometry<NodeType> Kratos::GenericSmallStrainOrthotropicDamage< TConstLawIntegratorType >::GeometryType |
The geometry definition.
typedef Node Kratos::GenericSmallStrainOrthotropicDamage< TConstLawIntegratorType >::NodeType |
The node definition.
|
inline |
Default constructor.
|
inline |
Copy constructor.
|
inlineoverride |
Destructor.
|
override |
Computes the material response in terms of Cauchy stresses and constitutive tensor.
|
override |
Computes the material response in terms of Kirchhoff stresses and constitutive tensor.
|
override |
Computes the material response in terms of 1st Piola-Kirchhoff stresses and constitutive tensor.
|
override |
Computes the material response in terms of 2nd Piola-Kirchhoff stresses and constitutive tensor.
void Kratos::GenericSmallStrainOrthotropicDamage< TConstLawIntegratorType >::CalculateRotationMatrix | ( | Matrix & | rRotationTensor, |
Matrix | rEigenVectorsMatrix, | ||
const Matrix & | rEigenValuesMatrix | ||
) |
This method computes the rotation tensor from principal stresses axis to global.
rValues | The constitutive law parameters and flags |
rRotationTensor | The rotation tensor |
rEigenVectorsMatrix | The eigenvectors of the StressTensor |
void Kratos::GenericSmallStrainOrthotropicDamage< TConstLawIntegratorType >::CalculateSecantTensor | ( | Matrix & | rSecantTensor, |
ConstitutiveLaw::Parameters & | rValues, | ||
const Vector & | rDamages | ||
) |
This method computes the secant tensor uin the principal direction axis.
rValues | The constitutive law parameters and flags |
rSecantTensor | The secant tensor |
rDamages | The damages according to each principal direction |
void Kratos::GenericSmallStrainOrthotropicDamage< TConstLawIntegratorType >::CalculateTangentTensor | ( | ConstitutiveLaw::Parameters & | rValues | ) |
This method computes the tangent tensor.
rValues | The constitutive law parameters and flags |
|
override |
Returns the value of a specified variable (double)
rParameterValues | the needed parameters for the CL calculation |
rThisVariable | the variable to be returned |
rValue | a reference to the returned value |
rValue | output: the value of the specified variable |
|
override |
Returns the value of a specified variable (matrix)
rParameterValues | the needed parameters for the CL calculation |
rThisVariable | the variable to be returned |
rValue | a reference to the returned value |
rValue | output: the value of the specified variable |
|
override |
Returns the value of a specified variable (vector)
rParameterValues | the needed parameters for the CL calculation |
rThisVariable | the variable to be returned |
rValue | a reference to the returned value |
rValue | output: the value of the specified variable |
|
override |
This function provides the place to perform checks on the completeness of the input.
It is designed to be called only once (or anyway, not often) typically at the beginning of the calculations, so to verify that nothing is missing from the input or that no common error is found.
rMaterialProperties | The properties of the material |
rElementGeometry | The geometry of the element |
rCurrentProcessInfo | The current process info instance |
|
inlineoverride |
Clone.
|
override |
Finalize the material response in terms of Cauchy stresses
|
override |
Finalize the material response in terms of Kirchhoff stresses.
|
override |
Finalize the material response in terms of 1st Piola-Kirchhoff stresses.
|
override |
Finalize the material response in terms of 2nd Piola-Kirchhoff stresses.
|
inlineprotected |
|
inlineprotected |
|
override |
Returns the value of a specified variable (double)
rThisVariable | the variable to be returned |
rValue | a reference to the returned value |
|
override |
Returns the value of a specified variable (matrix)
rThisVariable | the variable to be returned |
rValue | a reference to the returned value |
|
override |
Returns the value of a specified variable (Vector)
rThisVariable | the variable to be returned |
rValue | a reference to the returned value |
|
override |
Returns whether this constitutive Law has specified variable (double)
rThisVariable | the variable to be checked for |
|
override |
Returns whether this constitutive Law has specified variable (Matrix)
rThisVariable | the variable to be checked for |
|
override |
Returns whether this constitutive Law has specified variable (Vector)
rThisVariable | the variable to be checked for |
|
override |
This is to be called at the very beginning of the calculation.
(e.g. from InitializeElement) in order to initialize all relevant attributes of the constitutive law
rMaterialProperties | the Properties instance of the current element |
rElementGeometry | the geometry of the current element |
rShapeFunctionsValues | the shape functions values in the current integration point |
Kratos::GenericSmallStrainOrthotropicDamage< TConstLawIntegratorType >::KRATOS_CLASS_POINTER_DEFINITION | ( | GenericSmallStrainOrthotropicDamage< TConstLawIntegratorType > | ) |
Counted pointer of GenericYieldSurface.
|
inlineoverride |
If the CL requires to initialize the material response, called by the element in InitializeSolutionStep.
|
inlineoverride |
If the CL requires to initialize the material response, called by the element in InitializeSolutionStep.
|
inlineprotected |
|
inlineprotected |
|
override |
Sets the value of a specified variable (Vector)
rVariable | the variable to be returned |
rValue | new value of the specified variable |
rCurrentProcessInfo | the process info |
|
friend |
|
staticconstexpr |
The define the working dimension size, already defined in the integrator.
|
staticconstexpr |
Definition of the machine precision tolerance.
|
staticconstexpr |
The define the Voigt size, already defined in the integrator.