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.
|
#include <constitutive_law.h>
Inherits Kratos::Flags.
Inherited by Kratos::ParallelRuleOfMixturesLaw< 2 >, Kratos::ParallelRuleOfMixturesLaw< 3 >, Kratos::UserProvidedLinearElasticLaw< 2 >, Kratos::UserProvidedLinearElasticLaw< 3 >, Kratos::BeamConstitutiveLaw, Kratos::BilinearCohesive3DLaw, Kratos::BilinearCohesive3DLaw, Kratos::Constitutive3DLaw, Kratos::DamageDPlusDMinusMasonry2DLaw, Kratos::DispNewtonianFluid3DLaw, Kratos::ElasticCohesive3DLaw, Kratos::ElasticIsotropic3D, Kratos::ElasticIsotropic3DFEMDEM, Kratos::ElastoPlasticModMohrCoulombCohesive3DLaw, Kratos::ElastoPlasticMohrCoulombCohesive3DLaw, Kratos::FiniteStrainIsotropicPlasticityFactory, Kratos::FiniteStrainKinematicPlasticityFactory, Kratos::FluidConstitutiveLaw, Kratos::GenericAnisotropic3DLaw, Kratos::GenericSmallStrainViscoplasticity3D, Kratos::GeoLinearElasticLaw, Kratos::GeoThermalDispersionLaw, Kratos::HelmholtzJacobianStiffened3D, Kratos::HyperElastic3DLaw, Kratos::HyperElastic3DLaw, Kratos::HyperElastic3DLaw, Kratos::HyperElasticIsotropicHenky1D, Kratos::HyperElasticIsotropicKirchhoff3D, Kratos::HyperElasticIsotropicNeoHookean3D, Kratos::HyperElasticIsotropicNeoHookean3DFEMDEM, Kratos::HyperElasticIsotropicOgden1D, Kratos::IsotropicDamageCohesive3DLaw, Kratos::LinearElasticOrthotropic2DLaw, Kratos::NewtonianFluid3DLaw, Kratos::ParallelRuleOfMixturesLaw< TDim >, Kratos::PfemFluidConstitutiveLaw, Kratos::PfemSolidConstitutiveLaw, Kratos::PlasticityIsotropicKinematicJ2, Kratos::PythonOutfittedConstitutiveLaw, Kratos::SerialParallelRuleOfMixturesLaw, Kratos::SmallStrainIsotropicDamageFactory, Kratos::SmallStrainIsotropicPlasticityFactory, Kratos::SmallStrainJ2Plasticity3D, Kratos::SmallStrainKinematicPlasticityFactory, Kratos::SmallStrainUDSM3DLaw, Kratos::SmallStrainUMAT3DLaw, Kratos::TrussConstitutiveLaw, Kratos::TrussPlasticityConstitutiveLaw, Kratos::UserProvidedLinearElasticLaw< TDim >, and Kratos::WrinklingLinear2DLaw.
Classes | |
struct | Features |
struct | Parameters |
Public Types | |
enum | StrainMeasure { StrainMeasure_Infinitesimal , StrainMeasure_GreenLagrange , StrainMeasure_Almansi , StrainMeasure_Hencky_Material , StrainMeasure_Hencky_Spatial , StrainMeasure_Deformation_Gradient , StrainMeasure_Right_CauchyGreen , StrainMeasure_Left_CauchyGreen , StrainMeasure_Velocity_Gradient } |
enum | StressMeasure { StressMeasure_PK1 , StressMeasure_PK2 , StressMeasure_Kirchhoff , StressMeasure_Cauchy } |
typedef ProcessInfo | ProcessInfoType |
typedef std::size_t | SizeType |
typedef Geometry< Node > | GeometryType |
typedef Vector | StrainVectorType |
typedef Vector | StressVectorType |
typedef Matrix | VoigtSizeMatrixType |
typedef Matrix | DeformationGradientMatrixType |
Public Types inherited from Kratos::Flags | |
enum | FlagsList { Flag0 = BlockType(1) , Flag1 = BlockType(1) << 1 , Flag2 = BlockType(1) << 2 , Flag3 = BlockType(1) << 3 , Flag4 = BlockType(1) << 4 , Flag5 = BlockType(1) << 5 , Flag6 = BlockType(1) << 6 , Flag7 = BlockType(1) << 7 , Flag8 = BlockType(1) << 8 , Flag9 = BlockType(1) << 9 , Flag10 = BlockType(1) << 10 , Flag11 = BlockType(1) << 11 , Flag12 = BlockType(1) << 12 , Flag13 = BlockType(1) << 13 , Flag14 = BlockType(1) << 14 , Flag15 = BlockType(1) << 15 , Flag16 = BlockType(1) << 16 , Flag17 = BlockType(1) << 17 , Flag18 = BlockType(1) << 18 , Flag19 = BlockType(1) << 19 , Flag20 = BlockType(1) << 20 , Flag21 = BlockType(1) << 21 , Flag22 = BlockType(1) << 22 , Flag23 = BlockType(1) << 23 , Flag24 = BlockType(1) << 24 , Flag25 = BlockType(1) << 25 , Flag26 = BlockType(1) << 26 , Flag27 = BlockType(1) << 27 , Flag28 = BlockType(1) << 28 , Flag29 = BlockType(1) << 29 , Flag30 = BlockType(1) << 30 } |
typedef int64_t | BlockType |
typedef int64_t | FlagType |
typedef std::size_t | IndexType |
Public Member Functions | |
KRATOS_CLASS_POINTER_DEFINITION (ConstitutiveLaw) | |
KRATOS_DEFINE_LOCAL_FLAG (USE_ELEMENT_PROVIDED_STRAIN) | |
KRATOS_DEFINE_LOCAL_FLAG (COMPUTE_STRESS) | |
KRATOS_DEFINE_LOCAL_FLAG (COMPUTE_CONSTITUTIVE_TENSOR) | |
KRATOS_DEFINE_LOCAL_FLAG (COMPUTE_STRAIN_ENERGY) | |
KRATOS_DEFINE_LOCAL_FLAG (ISOCHORIC_TENSOR_ONLY) | |
KRATOS_DEFINE_LOCAL_FLAG (VOLUMETRIC_TENSOR_ONLY) | |
KRATOS_DEFINE_LOCAL_FLAG (MECHANICAL_RESPONSE_ONLY) | |
KRATOS_DEFINE_LOCAL_FLAG (THERMAL_RESPONSE_ONLY) | |
KRATOS_DEFINE_LOCAL_FLAG (INCREMENTAL_STRAIN_MEASURE) | |
KRATOS_DEFINE_LOCAL_FLAG (INITIALIZE_MATERIAL_RESPONSE) | |
KRATOS_DEFINE_LOCAL_FLAG (FINALIZE_MATERIAL_RESPONSE) | |
KRATOS_DEFINE_LOCAL_FLAG (FINITE_STRAINS) | |
KRATOS_DEFINE_LOCAL_FLAG (INFINITESIMAL_STRAINS) | |
KRATOS_DEFINE_LOCAL_FLAG (THREE_DIMENSIONAL_LAW) | |
KRATOS_DEFINE_LOCAL_FLAG (PLANE_STRAIN_LAW) | |
KRATOS_DEFINE_LOCAL_FLAG (PLANE_STRESS_LAW) | |
KRATOS_DEFINE_LOCAL_FLAG (AXISYMMETRIC_LAW) | |
KRATOS_DEFINE_LOCAL_FLAG (U_P_LAW) | |
KRATOS_DEFINE_LOCAL_FLAG (ISOTROPIC) | |
KRATOS_DEFINE_LOCAL_FLAG (ANISOTROPIC) | |
ConstitutiveLaw () | |
~ConstitutiveLaw () override | |
virtual ConstitutiveLaw::Pointer | Clone () const |
Clone function (has to be implemented by any derived class) More... | |
virtual Pointer | Create (Kratos::Parameters NewParameters) const |
It creates a new constitutive law pointer. More... | |
virtual Pointer | Create (Kratos::Parameters NewParameters, const Properties &rProperties) const |
It creates a new constitutive law pointer (version with properties) More... | |
virtual SizeType | WorkingSpaceDimension () |
virtual SizeType | GetStrainSize () const |
void | SetInitialState (InitialState::Pointer pInitialState) |
InitialState::Pointer | pGetInitialState () |
InitialState & | GetInitialState () |
bool | HasInitialState () const |
template<typename TVectorType > | |
void | AddInitialStressVectorContribution (TVectorType &rStressVector) |
Adds the initial stress vector if it is defined in the InitialState. More... | |
template<typename TVectorType > | |
void | AddInitialStrainVectorContribution (TVectorType &rStrainVector) |
Adds the initial strain vector if it is defined in the InitialState. More... | |
template<typename TMatrixType > | |
void | AddInitialDeformationGradientMatrixContribution (TMatrixType &rF) |
Adds the initial strain vector if it is defined in the InitialState. More... | |
virtual bool | Has (const Variable< bool > &rThisVariable) |
Returns whether this constitutive Law has specified variable (boolean) More... | |
virtual bool | Has (const Variable< int > &rThisVariable) |
Returns whether this constitutive Law has specified variable (integer) More... | |
virtual bool | Has (const Variable< double > &rThisVariable) |
Returns whether this constitutive Law has specified variable (double) More... | |
virtual bool | Has (const Variable< Vector > &rThisVariable) |
Returns whether this constitutive Law has specified variable (Vector) More... | |
virtual bool | Has (const Variable< Matrix > &rThisVariable) |
Returns whether this constitutive Law has specified variable (Matrix) More... | |
virtual bool | Has (const Variable< array_1d< double, 3 > > &rThisVariable) |
Returns whether this constitutive Law has specified variable (array of 3 components) More... | |
virtual bool | Has (const Variable< array_1d< double, 6 > > &rThisVariable) |
Returns whether this constitutive Law has specified variable (array of 6 components) More... | |
virtual bool & | GetValue (const Variable< bool > &rThisVariable, bool &rValue) |
Returns the value of a specified variable (boolean) More... | |
virtual int & | GetValue (const Variable< int > &rThisVariable, int &rValue) |
virtual double & | GetValue (const Variable< double > &rThisVariable, double &rValue) |
Returns the value of a specified variable (double) More... | |
virtual Vector & | GetValue (const Variable< Vector > &rThisVariable, Vector &rValue) |
Returns the value of a specified variable (Vector) More... | |
virtual Matrix & | GetValue (const Variable< Matrix > &rThisVariable, Matrix &rValue) |
Returns the value of a specified variable (Matrix) More... | |
virtual array_1d< double, 3 > & | GetValue (const Variable< array_1d< double, 3 > > &rThisVariable, array_1d< double, 3 > &rValue) |
Returns the value of a specified variable (array of 3 components) More... | |
virtual array_1d< double, 6 > & | GetValue (const Variable< array_1d< double, 6 > > &rThisVariable, array_1d< double, 6 > &rValue) |
Returns the value of a specified variable (array of 6 components) More... | |
virtual void | SetValue (const Variable< bool > &rVariable, const bool &Value, const ProcessInfo &rCurrentProcessInfo) |
Sets the value of a specified variable (boolean) More... | |
virtual void | SetValue (const Variable< int > &rVariable, const int &Value, const ProcessInfo &rCurrentProcessInfo) |
Sets the value of a specified variable (integer) More... | |
virtual void | SetValue (const Variable< double > &rVariable, const double &rValue, const ProcessInfo &rCurrentProcessInfo) |
Sets the value of a specified variable (double) More... | |
virtual void | SetValue (const Variable< Vector > &rVariable, const Vector &rValue, const ProcessInfo &rCurrentProcessInfo) |
Sets the value of a specified variable (Vector) More... | |
virtual void | SetValue (const Variable< Matrix > &rVariable, const Matrix &rValue, const ProcessInfo &rCurrentProcessInfo) |
Sets the value of a specified variable (Matrix) More... | |
virtual void | SetValue (const Variable< array_1d< double, 3 > > &rVariable, const array_1d< double, 3 > &rValue, const ProcessInfo &rCurrentProcessInfo) |
Sets the value of a specified variable (array of 3 components) More... | |
virtual void | SetValue (const Variable< array_1d< double, 6 > > &rVariable, const array_1d< double, 6 > &rValue, const ProcessInfo &rCurrentProcessInfo) |
Sets the value of a specified variable (array of 6 components) More... | |
virtual bool & | CalculateValue (Parameters &rParameterValues, const Variable< bool > &rThisVariable, bool &rValue) |
Calculates the value of a specified variable (bool) More... | |
virtual int & | CalculateValue (Parameters &rParameterValues, const Variable< int > &rThisVariable, int &rValue) |
Calculates the value of a specified variable (int) More... | |
virtual double & | CalculateValue (Parameters &rParameterValues, const Variable< double > &rThisVariable, double &rValue) |
Calculates the value of a specified variable (double) More... | |
virtual Vector & | CalculateValue (Parameters &rParameterValues, const Variable< Vector > &rThisVariable, Vector &rValue) |
Calculates the value of a specified variable (Vector) More... | |
virtual Matrix & | CalculateValue (Parameters &rParameterValues, const Variable< Matrix > &rThisVariable, Matrix &rValue) |
Calculates the value of a specified variable (Matrix) More... | |
virtual array_1d< double, 3 > & | CalculateValue (Parameters &rParameterValues, const Variable< array_1d< double, 3 > > &rVariable, array_1d< double, 3 > &rValue) |
Calculates the value of a specified variable (array of 3 components) More... | |
virtual array_1d< double, 6 > & | CalculateValue (Parameters &rParameterValues, const Variable< array_1d< double, 6 > > &rVariable, array_1d< double, 6 > &rValue) |
virtual void | CalculateDerivative (Parameters &rParameterValues, const Variable< double > &rFunctionVariable, const Variable< double > &rDerivativeVariable, double &rOutput) |
Calculates derivatives of a given function. More... | |
virtual void | CalculateDerivative (Parameters &rParameterValues, const Variable< Vector > &rFunctionVariable, const Variable< double > &rDerivativeVariable, Vector &rOutput) |
Calculates derivatives of a given function. More... | |
virtual void | CalculateDerivative (Parameters &rParameterValues, const Variable< Matrix > &rFunctionVariable, const Variable< double > &rDerivativeVariable, Matrix &rOutput) |
Calculates derivatives of a given function. More... | |
virtual void | CalculateDerivative (Parameters &rParameterValues, const Variable< array_1d< double, 3 >> &rFunctionVariable, const Variable< double > &rDerivativeVariable, array_1d< double, 3 > &rOutput) |
Calculates derivatives of a given function. More... | |
virtual bool | ValidateInput (const Properties &rMaterialProperties) |
virtual StrainMeasure | GetStrainMeasure () |
virtual StressMeasure | GetStressMeasure () |
virtual bool | IsIncremental () |
virtual void | InitializeMaterial (const Properties &rMaterialProperties, const GeometryType &rElementGeometry, const Vector &rShapeFunctionsValues) |
virtual void | InitializeSolutionStep (const Properties &rMaterialProperties, const GeometryType &rElementGeometry, const Vector &rShapeFunctionsValues, const ProcessInfo &rCurrentProcessInfo) |
virtual void | FinalizeSolutionStep (const Properties &rMaterialProperties, const GeometryType &rElementGeometry, const Vector &rShapeFunctionsValues, const ProcessInfo &rCurrentProcessInfo) |
virtual void | InitializeNonLinearIteration (const Properties &rMaterialProperties, const GeometryType &rElementGeometry, const Vector &rShapeFunctionsValues, const ProcessInfo &rCurrentProcessInfo) |
virtual void | FinalizeNonLinearIteration (const Properties &rMaterialProperties, const GeometryType &rElementGeometry, const Vector &rShapeFunctionsValues, const ProcessInfo &rCurrentProcessInfo) |
void | CalculateMaterialResponse (Parameters &rValues, const StressMeasure &rStressMeasure) |
virtual void | CalculateMaterialResponsePK1 (Parameters &rValues) |
virtual void | CalculateMaterialResponsePK2 (Parameters &rValues) |
virtual void | CalculateMaterialResponseKirchhoff (Parameters &rValues) |
virtual void | CalculateMaterialResponseCauchy (Parameters &rValues) |
virtual bool | RequiresInitializeMaterialResponse () |
If the CL requires to initialize the material response, called by the element in InitializeSolutionStep. More... | |
virtual void | CalculateStressResponse (Parameters &rValues, Vector &rInternalVariables) |
void | InitializeMaterialResponse (Parameters &rValues, const StressMeasure &rStressMeasure) |
Initialize the material response, called by the element in InitializeSolutionStep. More... | |
virtual void | InitializeMaterialResponsePK1 (Parameters &rValues) |
Initialize the material response in terms of 1st Piola-Kirchhoff stresses. More... | |
virtual void | InitializeMaterialResponsePK2 (Parameters &rValues) |
Initialize the material response in terms of 2nd Piola-Kirchhoff stresses. More... | |
virtual void | InitializeMaterialResponseKirchhoff (Parameters &rValues) |
Initialize the material response in terms of Kirchhoff stresses. More... | |
virtual void | InitializeMaterialResponseCauchy (Parameters &rValues) |
Initialize the material response in terms of Cauchy stresses. More... | |
virtual bool | RequiresFinalizeMaterialResponse () |
If the CL requires to finalize the material response, called by the element in FinalizeSolutionStep. More... | |
void | FinalizeMaterialResponse (Parameters &rValues, const StressMeasure &rStressMeasure) |
Finalize the material response, called by the element in FinalizeSolutionStep. More... | |
virtual void | FinalizeMaterialResponsePK1 (Parameters &rValues) |
virtual void | FinalizeMaterialResponsePK2 (Parameters &rValues) |
virtual void | FinalizeMaterialResponseKirchhoff (Parameters &rValues) |
virtual void | FinalizeMaterialResponseCauchy (Parameters &rValues) |
virtual void | ResetMaterial (const Properties &rMaterialProperties, const GeometryType &rElementGeometry, const Vector &rShapeFunctionsValues) |
virtual Vector & | TransformStrains (Vector &rStrainVector, const Matrix &rF, StrainMeasure rStrainInitial, StrainMeasure rStrainFinal) |
virtual Matrix & | TransformStresses (Matrix &rStressMatrix, const Matrix &rF, const double &rdetF, StressMeasure rStressInitial, StressMeasure rStressFinal) |
virtual Vector & | TransformStresses (Vector &rStressVector, const Matrix &rF, const double &rdetF, StressMeasure rStressInitial, StressMeasure rStressFinal) |
Vector & | TransformPK1Stresses (Vector &rStressVector, const Matrix &rF, const double &rdetF, StressMeasure rStressFinal) |
Vector & | TransformPK2Stresses (Vector &rStressVector, const Matrix &rF, const double &rdetF, StressMeasure rStressFinal) |
Vector & | TransformKirchhoffStresses (Vector &rStressVector, const Matrix &rF, const double &rdetF, StressMeasure rStressFinal) |
Vector & | TransformCauchyStresses (Vector &rStressVector, const Matrix &rF, const double &rdetF, StressMeasure rStressFinal) |
void | PullBackConstitutiveMatrix (Matrix &rConstitutiveMatrix, const Matrix &rF) |
void | PushForwardConstitutiveMatrix (Matrix &rConstitutiveMatrix, const Matrix &rF) |
virtual void | GetLawFeatures (Features &rFeatures) |
virtual int | Check (const Properties &rMaterialProperties, const GeometryType &rElementGeometry, const ProcessInfo &rCurrentProcessInfo) const |
virtual void | CalculateCauchyStresses (Vector &Cauchy_StressVector, const Matrix &F, const Vector &PK2_StressVector, const Vector &GreenLagrangeStrainVector) |
Input and output | |
std::string | Info () const override |
Turn back information as a string. More... | |
void | PrintInfo (std::ostream &rOStream) const override |
Print information about this object. More... | |
void | PrintData (std::ostream &rOStream) const override |
Print object's data. More... | |
Public Member Functions inherited from Kratos::Flags | |
Flags & | operator= (Flags const &rOther) |
Assignment operator. More... | |
operator bool () const | |
Flags | operator~ () const |
bool | operator! () const |
void | AssignFlags (Flags const &rOther) |
void | Set (const Flags ThisFlag) |
void | Set (const Flags ThisFlag, bool Value) |
void | Reset (const Flags ThisFlag) |
void | Flip (const Flags ThisFlag) |
void | SetPosition (IndexType Position, bool Value=true) |
bool | GetPosition (IndexType Position) const |
void | FlipPosition (IndexType Position) |
void | ClearPosition (IndexType Position) |
void | Clear () |
Flags | AsFalse () const |
bool | Is (Flags const &rOther) const |
bool | IsDefined (Flags const &rOther) const |
bool | IsNot (Flags const &rOther) const |
bool | IsNotDefined (Flags const &rOther) const |
KRATOS_CLASS_POINTER_DEFINITION (Flags) | |
Pointer definition of Flags. More... | |
const Flags & | operator|= (const Flags &Other) |
const Flags & | operator&= (const Flags &Other) |
Flags () | |
Default constructor. More... | |
Flags (Flags const &rOther) | |
Copy constructor. More... | |
virtual | ~Flags () |
Destructor. More... | |
Static Public Member Functions | |
static bool | HasSameType (const ConstitutiveLaw &rLHS, const ConstitutiveLaw &rRHS) |
This method is used to check that two Constitutive Laws are the same type (references) More... | |
static bool | HasSameType (const ConstitutiveLaw *rLHS, const ConstitutiveLaw *rRHS) |
This method is used to check that two Constitutive Laws are the same type (pointers) More... | |
Static Public Member Functions inherited from Kratos::Flags | |
static const Flags | AllDefined () |
static const Flags | AllTrue () |
static Flags | Create (IndexType ThisPosition, bool Value=true) |
Protected Member Functions | |
Protected Operations | |
void | ContraVariantPushForward (Matrix &rMatrix, const Matrix &rF) |
void | ContraVariantPullBack (Matrix &rMatrix, const Matrix &rF) |
void | CoVariantPushForward (Matrix &rMatrix, const Matrix &rF) |
void | CoVariantPullBack (Matrix &rMatrix, const Matrix &rF) |
void | ConstitutiveMatrixTransformation (Matrix &rConstitutiveMatrix, const Matrix &rOriginalConstitutiveMatrix, const Matrix &rF) |
double & | TransformConstitutiveComponent (double &rCabcd, const Matrix &rConstitutiveMatrix, const Matrix &rF, const unsigned int &a, const unsigned int &b, const unsigned int &c, const unsigned int &d) |
double & | GetConstitutiveComponent (double &rCabcd, const Matrix &rConstitutiveMatrix, const unsigned int &a, const unsigned int &b, const unsigned int &c, const unsigned int &d) |
Static Protected Attributes | |
Protected static Member Variables | |
static const unsigned int | msIndexVoigt3D6C [6][2] = { {0, 0}, {1, 1}, {2, 2}, {0, 1}, {1, 2}, {0, 2} } |
static const unsigned int | msIndexVoigt2D4C [4][2] = { {0, 0}, {1, 1}, {2, 2}, {0, 1} } |
static const unsigned int | msIndexVoigt2D3C [3][2] = { {0, 0}, {1, 1}, {0, 1} } |
Serialization | |
class | Serializer |
Base class of constitutive laws.
Type definitions NOTE: geometries are assumed to be of type Node for all problems
typedef std::size_t Kratos::ConstitutiveLaw::SizeType |
Kratos::ConstitutiveLaw::ConstitutiveLaw | ( | ) |
Constructor.
|
inlineoverride |
Destructor.
|
inline |
Adds the initial strain vector if it is defined in the InitialState.
|
inline |
Adds the initial strain vector if it is defined in the InitialState.
|
inline |
Adds the initial stress vector if it is defined in the InitialState.
|
virtual |
|
virtual |
Calculates derivatives of a given function.
This method calculates derivative of a array_1d<double, 3> function (denoted by rFunctionVariable) w.r.t. rDerivativeVariable and stores the output in rOutput. The rDerivativeVariable represents a gauss point scalar variable only.
rParameterValues | Input for the derivative calculation |
rFunctionVariable | Variable to identify the function for which derivatives are computed |
rDerivativeVariable | Scalar derivative variable |
rOutput | Output having the same type as the rFunctionVariable |
|
virtual |
Calculates derivatives of a given function.
This method calculates derivative of a scalar function (denoted by rFunctionVariable) w.r.t. rDerivativeVariable and stores the output in rOutput. The rDerivativeVariable represents a gauss point scalar variable only.
Eg: Assume following function (gauss point evaluated): [ \nu = \nu_{fluid} + \nu_t = \nu_{fluid} + \left(\frac{y}{\omega}\right)^2 \frac{\partial k}{\partial x_i}\frac{\partial \omega}{\partial x_i} ]
Then in here we use rFunctionVariable = EFFECTIVE_VISCOSITY
Then if we want to take derivatives w.r.t. $\omega$ (i.e. rDerivativeVariable = OMEGA). So following steps needs to be used.
1. First calculate derivatives w.r.t. omega (rDerivativeVariable = OMEGA) using the call: CalculateDerivative(Values, EFFECTIVE_VISCOSITY, OMEGA, output); The output will hold the following: \[ \frac{\partial \nu}{\partial \omega} = \frac{\partial \nu_t}{\partial \omega} = -2\frac{y^2}{\omega^3}\frac{\partial k}{\partial x_i}\frac{\partial \omega}{\partial x_i} \] 2. Then calculate derivatives w.r.t. omega gradients (rDerivativeVariable = OMEGA_GRADIENT_X) using the call: (where OMEGA_GRADIENT is a 3D vector with components) CalculateDerivative(Values, EFFECTIVE_VISCOSITY, OMEGA_GRADIENT_X, output); The output will hold the following: \[ \frac{\partial \nu}{\partial \nabla\omega_x} = \frac{\partial \nu_t}{\partial \nabla\omega_x} = \left(\frac{y}{\omega}\right)^2 \frac{\partial k}{\partial x_x} \] Once you have these outputs, you can transform it to a nodal derivative (eg: discrete adjoint computation) within your element by using the chain rule. [Where $c$ is the node index of the geometry.] \[ \frac{\partial \nu}{\partial \omega^c} = \frac{\partial \nu}{\partial \omega}\frac{\partial \omega}{\partial \omega^c} + \frac{\partial \nu}{\partial \nabla\omega_i}\frac{\partial \nabla\omega_i}{\partial \omega^c} \]
rParameterValues | Input for the derivative calculation |
rFunctionVariable | Variable to identify the function for which derivatives are computed |
rDerivativeVariable | Scalar derivative variable |
rOutput | Output having the same type as the rFunctionVariable |
Reimplemented in Kratos::Newtonian3DLaw, and Kratos::Newtonian2DLaw.
|
virtual |
Calculates derivatives of a given function.
This method calculates derivative of a Matrix function (denoted by rFunctionVariable) w.r.t. rDerivativeVariable and stores the output in rOutput. The rDerivativeVariable represents a gauss point scalar variable only.
rParameterValues | Input for the derivative calculation |
rFunctionVariable | Variable to identify the function for which derivatives are computed |
rDerivativeVariable | Scalar derivative variable |
rOutput | Output having the same type as the rFunctionVariable |
Reimplemented in Kratos::Newtonian3DLaw, and Kratos::Newtonian2DLaw.
|
virtual |
Calculates derivatives of a given function.
This method calculates derivative of a Vector function (denoted by rFunctionVariable) w.r.t. rDerivativeVariable and stores the output in rOutput. The rDerivativeVariable represents a gauss point scalar variable only.
rParameterValues | Input for the derivative calculation |
rFunctionVariable | Variable to identify the function for which derivatives are computed |
rDerivativeVariable | Scalar derivative variable |
rOutput | Output having the same type as the rFunctionVariable |
Reimplemented in Kratos::Newtonian3DLaw, and Kratos::Newtonian2DLaw.
void Kratos::ConstitutiveLaw::CalculateMaterialResponse | ( | Parameters & | rValues, |
const StressMeasure & | rStressMeasure | ||
) |
Computes the material response in terms of stresses and constitutive tensor
Computes the material response in terms of stresses and constitutive tensor
|
virtual |
Computes the material response in terms of Cauchy stresses and constitutive tensor
Reimplemented in Kratos::HyperElastic3DLaw, Kratos::NonlocalDamage3DLaw, Kratos::LocalDamage3DLaw, Kratos::IsotropicDamageCohesive3DLaw, Kratos::HyperElastic3DLaw, Kratos::ElastoPlasticMohrCoulombCohesive3DLaw, Kratos::ElastoPlasticModMohrCoulombCohesive3DLaw, Kratos::ElasticCohesive3DLaw, Kratos::BilinearCohesive3DLaw, Kratos::Hypoelastic3DLaw, Kratos::Hypoelastic2DLaw, Kratos::Newtonian3DLaw, Kratos::Newtonian2DLaw, Kratos::MuIRheology3DLaw, Kratos::MuIRheology2DLaw, Kratos::HerschelBulkley3DLaw, Kratos::HerschelBulkley2DLaw, Kratos::FrictionalViscoplastic3DLaw, Kratos::FrictionalViscoplastic2DLaw, Kratos::Bingham3DLaw, Kratos::Bingham2DLaw, Kratos::HyperElastic3DLaw, Kratos::DispNewtonianFluid3DLaw, Kratos::BilinearCohesive3DLaw, Kratos::Newtonian3DLaw, Kratos::Newtonian2DLaw, Kratos::HerschelBulkley3DLaw, Kratos::Euler3DLaw, Kratos::Euler2DLaw, Kratos::Bingham3DLaw, Kratos::ThermalNonlocalDamage3DLaw, Kratos::ThermalLocalDamage3DLaw, Kratos::NewtonianFluid3DLaw, Kratos::Constitutive3DLaw, Kratos::ParallelRuleOfMixturesLaw< TDim >, Kratos::ParallelRuleOfMixturesLaw< 2 >, Kratos::ParallelRuleOfMixturesLaw< 3 >, Kratos::PythonOutfittedConstitutiveLaw, Kratos::UserProvidedLinearElasticLaw< TDim >, Kratos::UserProvidedLinearElasticLaw< 2 >, Kratos::UserProvidedLinearElasticLaw< 3 >, Kratos::ElasticIsotropic3D, Kratos::PfemSolidConstitutiveLaw, Kratos::PfemFluidConstitutiveLaw, Kratos::SmallStrainUMAT3DLaw, Kratos::SmallStrainUDSM3DLaw, Kratos::GeoLinearElasticLaw, Kratos::FluidConstitutiveLaw, Kratos::HyperElasticIsotropicNeoHookean3DFEMDEM, Kratos::ElasticIsotropic3DFEMDEM, Kratos::ViscousGeneralizedMaxwell< Kratos::ElasticIsotropic3D >, Kratos::ViscousGeneralizedKelvin< Kratos::ElasticIsotropic3D >, Kratos::GenericSmallStrainViscoplasticity3D, Kratos::SmallStrainJ2Plasticity3D, Kratos::PlasticityIsotropicKinematicJ2, Kratos::DamageDPlusDMinusMasonry2DLaw, Kratos::DamageDPlusDMinusMasonry3DLaw, Kratos::GenericAnisotropic3DLaw, Kratos::HyperElasticIsotropicQuasiIncompressibleIshochoricNeoHookean3D, Kratos::HyperElasticIsotropicNeoHookean3D, Kratos::HyperElasticIsotropicKirchhoff3D, Kratos::TractionSeparationLaw3D< TDim >, Kratos::TractionSeparationLaw3D< 3 >, and Kratos::SerialParallelRuleOfMixturesLaw.
|
virtual |
Computes the material response in terms of Kirchhoff stresses and constitutive tensor
Reimplemented in Kratos::LinearElasticPlastic3DLaw, Kratos::LinearElasticOrthotropic3DLaw, Kratos::LinearElastic3DLaw, Kratos::HyperElasticUP3DLaw, Kratos::HyperElasticPlastic3DLaw, Kratos::HyperElastic3DLaw, Kratos::LinearElasticPlastic3DLaw, Kratos::LinearElastic3DLaw, Kratos::HyperElasticPlastic3DLaw, Kratos::HyperElastic3DLaw, Kratos::HistoryLinearElastic3DLaw, Kratos::NonLinearHenckyElasticPlastic3DLaw, Kratos::LinearElastic3DLaw, Kratos::JohnsonCookThermalPlastic3DLaw, Kratos::HyperElasticUP3DLaw, Kratos::HyperElastic3DLaw, Kratos::HenckyElasticPlastic3DLaw, Kratos::DispNewtonianFluid3DLaw, Kratos::ThermalLinearElastic3DLawNodal, Kratos::ThermalLinearElastic3DLaw, Kratos::LinearElastic3DLawNodal, Kratos::StrainRate3DLaw, Kratos::SmallStrainPlaneStress2DLaw, Kratos::SmallStrainOrthotropic3DLaw, Kratos::SmallStrain3DLaw, Kratos::LargeStrain3DLaw, Kratos::Constitutive3DLaw, Kratos::ParallelRuleOfMixturesLaw< TDim >, Kratos::ParallelRuleOfMixturesLaw< 2 >, Kratos::ParallelRuleOfMixturesLaw< 3 >, Kratos::PythonOutfittedConstitutiveLaw, Kratos::UserProvidedLinearElasticLaw< TDim >, Kratos::UserProvidedLinearElasticLaw< 2 >, Kratos::UserProvidedLinearElasticLaw< 3 >, Kratos::ElasticIsotropic3D, Kratos::SmallStrainUMAT3DLaw, Kratos::SmallStrainUDSM3DLaw, Kratos::GeoLinearElasticLaw, Kratos::HyperElasticIsotropicNeoHookean3DFEMDEM, Kratos::ElasticIsotropic3DFEMDEM, Kratos::ViscousGeneralizedMaxwell< Kratos::ElasticIsotropic3D >, Kratos::ViscousGeneralizedKelvin< Kratos::ElasticIsotropic3D >, Kratos::GenericSmallStrainViscoplasticity3D, Kratos::SmallStrainJ2Plasticity3D, Kratos::PlasticityIsotropicKinematicJ2, Kratos::DamageDPlusDMinusMasonry2DLaw, Kratos::DamageDPlusDMinusMasonry3DLaw, Kratos::GenericAnisotropic3DLaw, Kratos::HyperElasticIsotropicQuasiIncompressibleIshochoricNeoHookean3D, Kratos::HyperElasticIsotropicNeoHookean3D, Kratos::HyperElasticIsotropicKirchhoff3D, Kratos::TractionSeparationLaw3D< TDim >, Kratos::TractionSeparationLaw3D< 3 >, and Kratos::SerialParallelRuleOfMixturesLaw.
|
virtual |
Computes the material response in terms of 1st Piola-Kirchhoff stresses and constitutive tensor
Reimplemented in Kratos::HyperElastic3DLaw, Kratos::HyperElastic3DLaw, Kratos::Constitutive3DLaw, Kratos::ParallelRuleOfMixturesLaw< TDim >, Kratos::ParallelRuleOfMixturesLaw< 2 >, Kratos::ParallelRuleOfMixturesLaw< 3 >, Kratos::PythonOutfittedConstitutiveLaw, Kratos::UserProvidedLinearElasticLaw< TDim >, Kratos::UserProvidedLinearElasticLaw< 2 >, Kratos::UserProvidedLinearElasticLaw< 3 >, Kratos::ElasticIsotropic3D, Kratos::SmallStrainUMAT3DLaw, Kratos::SmallStrainUDSM3DLaw, Kratos::GeoLinearElasticLaw, Kratos::HyperElasticIsotropicNeoHookean3DFEMDEM, Kratos::ElasticIsotropic3DFEMDEM, Kratos::ViscousGeneralizedMaxwell< Kratos::ElasticIsotropic3D >, Kratos::ViscousGeneralizedKelvin< Kratos::ElasticIsotropic3D >, Kratos::GenericSmallStrainViscoplasticity3D, Kratos::SmallStrainJ2Plasticity3D, Kratos::PlasticityIsotropicKinematicJ2, Kratos::DamageDPlusDMinusMasonry2DLaw, Kratos::DamageDPlusDMinusMasonry3DLaw, Kratos::GenericAnisotropic3DLaw, Kratos::HyperElasticIsotropicQuasiIncompressibleIshochoricNeoHookean3D, Kratos::HyperElasticIsotropicNeoHookean3D, Kratos::HyperElasticIsotropicKirchhoff3D, Kratos::TractionSeparationLaw3D< TDim >, Kratos::TractionSeparationLaw3D< 3 >, and Kratos::SerialParallelRuleOfMixturesLaw.
|
virtual |
Computes the material response in terms of 2nd Piola-Kirchhoff stresses and constitutive tensor
Reimplemented in Kratos::TrussConstitutiveLaw, Kratos::LinearElasticPlastic3DLaw, Kratos::LinearElasticOrthotropic3DLaw, Kratos::LinearElastic3DLaw, Kratos::HyperElasticUP3DLaw, Kratos::HyperElasticPlastic3DLaw, Kratos::HyperElastic3DLaw, Kratos::LinearElasticPlastic3DLaw, Kratos::LinearElastic3DLaw, Kratos::HyperElasticPlastic3DLaw, Kratos::HyperElastic3DLaw, Kratos::LinearElastic3DLaw, Kratos::LargeStrain3DLaw, Kratos::Constitutive3DLaw, Kratos::TrussPlasticityConstitutiveLaw, Kratos::WrinklingLinear2DLaw, Kratos::SmallStrainIsotropicDamageImplex3D, Kratos::SmallStrainIsotropicDamage3D, Kratos::HyperElasticIsotropicOgden1D, Kratos::HyperElasticIsotropicHenky1D, Kratos::ParallelRuleOfMixturesLaw< TDim >, Kratos::ParallelRuleOfMixturesLaw< 2 >, Kratos::ParallelRuleOfMixturesLaw< 3 >, Kratos::PythonOutfittedConstitutiveLaw, Kratos::UserProvidedLinearElasticLaw< TDim >, Kratos::UserProvidedLinearElasticLaw< 2 >, Kratos::UserProvidedLinearElasticLaw< 3 >, Kratos::ElasticIsotropic3D, Kratos::SmallStrainUMAT3DLaw, Kratos::SmallStrainUDSM3DLaw, Kratos::GeoLinearElasticLaw, Kratos::HyperElasticIsotropicNeoHookean3DFEMDEM, Kratos::ElasticIsotropic3DFEMDEM, Kratos::ThermalElasticIsotropic3D, Kratos::ViscousGeneralizedMaxwell< Kratos::ElasticIsotropic3D >, Kratos::ViscousGeneralizedKelvin< Kratos::ElasticIsotropic3D >, Kratos::GenericSmallStrainViscoplasticity3D, Kratos::SmallStrainJ2Plasticity3D, Kratos::PlasticityIsotropicKinematicJ2, Kratos::LinearElasticOrthotropic2DLaw, Kratos::DamageDPlusDMinusMasonry2DLaw, Kratos::DamageDPlusDMinusMasonry3DLaw, Kratos::GenericAnisotropic3DLaw, Kratos::HyperElasticSimoTaylorNeoHookean3D, Kratos::HyperElasticIsotropicQuasiIncompressibleIshochoricNeoHookean3D, Kratos::HyperElasticIsotropicNeoHookean3D, Kratos::HyperElasticIsotropicKirchhoff3D, Kratos::TractionSeparationLaw3D< TDim >, Kratos::TractionSeparationLaw3D< 3 >, and Kratos::SerialParallelRuleOfMixturesLaw.
|
virtual |
Computes the material response in terms of Cauchy stresses and constitutive tensor, returns internal variables.
Computes the material response in terms of Cauchy stresses and constitutive tensor
Reimplemented in Kratos::SmallStrainIsotropicDamageImplex3D, and Kratos::SmallStrainIsotropicDamage3D.
|
virtual |
Calculates the value of a specified variable (array of 3 components)
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 |
returns the value of a specified variable (array of 3 components)
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 |
Reimplemented in Kratos::Constitutive3DLaw, Kratos::ParallelRuleOfMixturesLaw< TDim >, Kratos::ParallelRuleOfMixturesLaw< 2 >, Kratos::ParallelRuleOfMixturesLaw< 3 >, Kratos::TrussConstitutiveLaw, Kratos::HyperElasticIsotropicOgden1D, Kratos::HyperElasticIsotropicHenky1D, and Kratos::FluidConstitutiveLaw.
|
virtual |
returns the value of a specified variable (array of 6 components)
rThisVariable | the variable to be returned |
rValue | a reference to the returned value |
returns the value of a specified variable (array of 6 components)
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 |
Reimplemented in Kratos::Constitutive3DLaw, Kratos::ParallelRuleOfMixturesLaw< TDim >, Kratos::ParallelRuleOfMixturesLaw< 2 >, Kratos::ParallelRuleOfMixturesLaw< 3 >, and Kratos::FluidConstitutiveLaw.
|
virtual |
Calculates the value of a specified variable (bool)
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 |
Reimplemented in Kratos::WrinklingLinear2DLaw, and Kratos::SerialParallelRuleOfMixturesLaw.
|
virtual |
Calculates 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 |
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 |
Reimplemented in Kratos::SmallStrainIsotropicDamageImplex3D, Kratos::SmallStrainIsotropicDamage3D, Kratos::LinearElasticPlastic3DLaw, Kratos::LinearElastic3DLaw, Kratos::HyperElasticPlastic3DLaw, Kratos::HyperElastic3DLaw, Kratos::LinearElasticPlastic3DLaw, Kratos::LinearElastic3DLaw, Kratos::HyperElasticPlastic3DLaw, Kratos::HyperElastic3DLaw, Kratos::LinearElastic3DLaw, Kratos::HyperElastic3DLaw, Kratos::DispNewtonianFluid3DLaw, Kratos::Constitutive3DLaw, Kratos::GenericSmallStrainViscoplasticity3D, Kratos::GenericAnisotropic3DLaw, Kratos::SerialParallelRuleOfMixturesLaw, Kratos::ParallelRuleOfMixturesLaw< TDim >, Kratos::ParallelRuleOfMixturesLaw< 2 >, Kratos::ParallelRuleOfMixturesLaw< 3 >, Kratos::UserProvidedLinearElasticLaw< TDim >, Kratos::UserProvidedLinearElasticLaw< 2 >, Kratos::UserProvidedLinearElasticLaw< 3 >, Kratos::TrussConstitutiveLaw, Kratos::ElasticIsotropic3D, Kratos::SmallStrainUMAT3DLaw, Kratos::SmallStrainUDSM3DLaw, Kratos::GeoLinearElasticLaw, Kratos::HyperElasticIsotropicNeoHookean3DFEMDEM, Kratos::ElasticIsotropic3DFEMDEM, Kratos::ThermalElasticIsotropic3D, Kratos::TrussPlasticityConstitutiveLaw, Kratos::SmallStrainJ2Plasticity3D, Kratos::PlasticityIsotropicKinematicJ2, Kratos::WrinklingLinear2DLaw, Kratos::MultiLinearElastic1DLaw, Kratos::DamageDPlusDMinusMasonry3DLaw, Kratos::HyperElasticSimoTaylorNeoHookean3D, Kratos::HyperElasticIsotropicOgden1D, Kratos::HyperElasticIsotropicNeoHookean3D, Kratos::HyperElasticIsotropicKirchhoff3D, Kratos::HyperElasticIsotropicHenky1D, Kratos::PfemSolidConstitutiveLaw, Kratos::PfemFluidConstitutiveLaw, and Kratos::FluidConstitutiveLaw.
|
virtual |
Calculates the value of a specified variable (int)
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 |
Reimplemented in Kratos::Constitutive3DLaw, Kratos::WrinklingLinear2DLaw, Kratos::SerialParallelRuleOfMixturesLaw, and Kratos::FluidConstitutiveLaw.
|
virtual |
Calculates 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 |
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 |
Reimplemented in Kratos::Constitutive3DLaw, Kratos::GenericAnisotropic3DLaw, Kratos::SerialParallelRuleOfMixturesLaw, Kratos::ParallelRuleOfMixturesLaw< TDim >, Kratos::ParallelRuleOfMixturesLaw< 2 >, Kratos::ParallelRuleOfMixturesLaw< 3 >, Kratos::UserProvidedLinearElasticLaw< TDim >, Kratos::UserProvidedLinearElasticLaw< 2 >, Kratos::UserProvidedLinearElasticLaw< 3 >, Kratos::ElasticIsotropic3D, Kratos::HelmholtzJacobianStiffened3D, Kratos::SmallStrainUMAT3DLaw, Kratos::SmallStrainUDSM3DLaw, Kratos::GeoLinearElasticLaw, Kratos::HyperElasticIsotropicNeoHookean3DFEMDEM, Kratos::ElasticIsotropic3DFEMDEM, Kratos::ViscousGeneralizedMaxwell< Kratos::ElasticIsotropic3D >, Kratos::ViscousGeneralizedKelvin< Kratos::ElasticIsotropic3D >, Kratos::WrinklingLinear2DLaw, Kratos::DamageDPlusDMinusMasonry3DLaw, Kratos::HyperElasticIsotropicNeoHookean3D, Kratos::HyperElasticIsotropicKirchhoff3D, and Kratos::FluidConstitutiveLaw.
|
virtual |
Calculates 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 |
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 |
Reimplemented in Kratos::SmallStrainIsotropicDamageImplex3D, Kratos::SmallStrainIsotropicDamage3D, Kratos::Constitutive3DLaw, Kratos::GenericAnisotropic3DLaw, Kratos::SerialParallelRuleOfMixturesLaw, Kratos::ParallelRuleOfMixturesLaw< TDim >, Kratos::ParallelRuleOfMixturesLaw< 2 >, Kratos::ParallelRuleOfMixturesLaw< 3 >, Kratos::UserProvidedLinearElasticLaw< TDim >, Kratos::UserProvidedLinearElasticLaw< 2 >, Kratos::UserProvidedLinearElasticLaw< 3 >, Kratos::TrussConstitutiveLaw, Kratos::ElasticIsotropic3D, Kratos::SmallStrainUMAT3DLaw, Kratos::SmallStrainUDSM3DLaw, Kratos::GeoLinearElasticLaw, Kratos::HyperElasticIsotropicNeoHookean3DFEMDEM, Kratos::ElasticIsotropic3DFEMDEM, Kratos::ViscousGeneralizedKelvin< Kratos::ElasticIsotropic3D >, Kratos::SmallStrainJ2Plasticity3D, Kratos::WrinklingLinear2DLaw, Kratos::DamageDPlusDMinusMasonry3DLaw, Kratos::HyperElasticIsotropicOgden1D, Kratos::HyperElasticIsotropicNeoHookean3D, Kratos::HyperElasticIsotropicKirchhoff3D, Kratos::HyperElasticIsotropicHenky1D, and Kratos::FluidConstitutiveLaw.
|
virtual |
This function is designed to be called once to perform all the checks needed on the input provided. Checks can be "expensive" as the function is designed to catch user's errors.
rMaterialProperties | |
rElementGeometry | |
rCurrentProcessInfo |
Reimplemented in Kratos::HenckyMCStrainSofteningPlasticPlaneStrain2DLaw, Kratos::HenckyMCStrainSofteningPlasticAxisym2DLaw, Kratos::HenckyMCStrainSofteningPlastic3DLaw, Kratos::HenckyMCPlasticPlaneStrain2DLaw, Kratos::HenckyMCPlasticAxisym2DLaw, Kratos::HenckyMCPlastic3DLaw, Kratos::HenckyBorjaCamClayPlasticPlaneStrain2DLaw, Kratos::HenckyBorjaCamClayPlasticAxisym2DLaw, Kratos::HenckyBorjaCamClayPlastic3DLaw, Kratos::StrainRate3DLaw, Kratos::NewtonianFluid3DLaw, Kratos::SmallStrainOrthotropic3DLaw, Kratos::LargeStrain3DLaw, Kratos::Constitutive3DLaw, Kratos::UserProvidedLinearElasticLaw< TDim >, Kratos::UserProvidedLinearElasticLaw< 2 >, Kratos::UserProvidedLinearElasticLaw< 3 >, Kratos::TrussConstitutiveLaw, Kratos::ElasticIsotropic3D, Kratos::BeamConstitutiveLaw, Kratos::LinearElasticOrthotropic3DLaw, Kratos::LinearElastic3DLaw, Kratos::IsotropicDamageSimoJuPlaneStress2DLaw, Kratos::IsotropicDamageSimoJuPlaneStrain2DLaw, Kratos::IsotropicDamageSimoJu3DLaw, Kratos::IsotropicDamageModifiedMisesPlaneStress2DLaw, Kratos::IsotropicDamageModifiedMisesPlaneStrain2DLaw, Kratos::IsotropicDamageModifiedMises3DLaw, Kratos::HyperElasticPlastic3DLaw, Kratos::HyperElastic3DLaw, Kratos::RansNewtonian3DLaw, Kratos::RansNewtonian2DLaw, Kratos::SimoJuNonlocalDamagePlaneStress2DLaw, Kratos::SimoJuNonlocalDamagePlaneStrain2DLaw, Kratos::SimoJuNonlocalDamage3DLaw, Kratos::SimoJuLocalDamagePlaneStress2DLaw, Kratos::SimoJuLocalDamagePlaneStrain2DLaw, Kratos::SimoJuLocalDamage3DLaw, Kratos::NonlocalDamage3DLaw, Kratos::ModifiedMisesNonlocalDamagePlaneStress2DLaw, Kratos::ModifiedMisesNonlocalDamagePlaneStrain2DLaw, Kratos::ModifiedMisesNonlocalDamage3DLaw, Kratos::LocalDamage3DLaw, Kratos::LinearElastic3DLaw, Kratos::IsotropicDamageCohesive3DLaw, Kratos::HyperElasticPlastic3DLaw, Kratos::HyperElastic3DLaw, Kratos::ExponentialCohesive3DLaw, Kratos::ElastoPlasticMohrCoulombCohesive3DLaw, Kratos::ElastoPlasticModMohrCoulombCohesive3DLaw, Kratos::ElasticCohesive3DLaw, Kratos::BilinearCohesive3DLaw, Kratos::HypoelasticTemperatureDependent3DLaw, Kratos::HypoelasticTemperatureDependent2DLaw, Kratos::PfemSolidConstitutiveLaw, Kratos::Hypoelastic3DLaw, Kratos::Hypoelastic2DLaw, Kratos::NewtonianTemperatureDependent3DLaw, Kratos::NewtonianTemperatureDependent2DLaw, Kratos::MuIRheologyTemperatureDependent3DLaw, Kratos::MuIRheologyTemperatureDependent2DLaw, Kratos::FrictionalViscoplasticTemperatureDependent3DLaw, Kratos::FrictionalViscoplasticTemperatureDependent2DLaw, Kratos::BinghamTemperatureDependent3DLaw, Kratos::BinghamTemperatureDependent2DLaw, Kratos::Newtonian3DLaw, Kratos::Newtonian2DLaw, Kratos::MuIRheology3DLaw, Kratos::MuIRheology2DLaw, Kratos::HerschelBulkley3DLaw, Kratos::HerschelBulkley2DLaw, Kratos::FrictionalViscoplastic3DLaw, Kratos::FrictionalViscoplastic2DLaw, Kratos::PfemFluidConstitutiveLaw, Kratos::Bingham3DLaw, Kratos::Bingham2DLaw, Kratos::LinearElastic3DLaw, Kratos::JohnsonCookThermalPlastic3DLaw, Kratos::HyperElastic3DLaw, Kratos::HenckyElasticPlastic3DLaw, Kratos::DispNewtonianFluid3DLaw, Kratos::SmallStrainUMAT3DLaw, Kratos::SmallStrainUDSM3DLaw, Kratos::GeoLinearElasticLaw, Kratos::BilinearCohesive3DLaw, Kratos::NewtonianTwoFluid3DLaw, Kratos::NewtonianTwoFluid2DLaw, Kratos::NewtonianTemperatureDependent3DLaw, Kratos::NewtonianTemperatureDependent2DLaw, Kratos::Newtonian3DLaw, Kratos::Newtonian2DLaw, Kratos::HerschelBulkley3DLaw, Kratos::FluidConstitutiveLaw, Kratos::Euler3DLaw, Kratos::Euler2DLaw, Kratos::Bingham3DLaw, Kratos::HyperElasticIsotropicNeoHookean3DFEMDEM, Kratos::ElasticIsotropic3DFEMDEM, Kratos::ThermalSimoJuNonlocalDamagePlaneStress2DLaw, Kratos::ThermalSimoJuNonlocalDamagePlaneStrain2DLaw, Kratos::ThermalSimoJuNonlocalDamage3DLaw, Kratos::ThermalSimoJuLocalDamagePlaneStress2DLaw, Kratos::ThermalSimoJuLocalDamagePlaneStrain2DLaw, Kratos::ThermalSimoJuLocalDamage3DLaw, Kratos::ThermalNonlocalDamage3DLaw, Kratos::ThermalModifiedMisesNonlocalDamagePlaneStress2DLaw, Kratos::ThermalModifiedMisesNonlocalDamagePlaneStrain2DLaw, Kratos::ThermalModifiedMisesNonlocalDamage3DLaw, Kratos::ThermalLocalDamage3DLaw, Kratos::ThermalElasticIsotropic3D, Kratos::TrussPlasticityConstitutiveLaw, Kratos::SmallStrainJ2Plasticity3D, Kratos::PlasticityIsotropicKinematicJ2, Kratos::WrinklingLinear2DLaw, Kratos::MultiLinearIsotropicPlaneStress2D, Kratos::MultiLinearElastic1DLaw, Kratos::LinearElasticOrthotropic2DLaw, Kratos::ElasticIsotropicPlaneStressUncoupledShear, Kratos::SmallStrainIsotropicDamageImplex3D, Kratos::SmallStrainIsotropicDamage3D, Kratos::DamageDPlusDMinusMasonry2DLaw, Kratos::DamageDPlusDMinusMasonry3DLaw, Kratos::GenericAnisotropic3DLaw, Kratos::HyperElasticIsotropicQuasiIncompressibleIshochoricNeoHookean3D, Kratos::HyperElasticIsotropicOgden1D, Kratos::HyperElasticIsotropicNeoHookean3D, Kratos::HyperElasticIsotropicKirchhoff3D, Kratos::HyperElasticIsotropicHenky1D, Kratos::SerialParallelRuleOfMixturesLaw, Kratos::ParallelRuleOfMixturesLaw< TDim >, Kratos::ParallelRuleOfMixturesLaw< 2 >, Kratos::ParallelRuleOfMixturesLaw< 3 >, Kratos::TractionSeparationLaw3D< TDim >, and Kratos::TractionSeparationLaw3D< 3 >.
|
virtual |
Clone function (has to be implemented by any derived class)
Clone function (has to be implemented by any derived class)
Reimplemented in Kratos::UserProvidedLinearElasticLaw< TDim >, Kratos::UserProvidedLinearElasticLaw< 2 >, Kratos::UserProvidedLinearElasticLaw< 3 >, Kratos::TrussConstitutiveLaw, Kratos::LinearPlaneStress, Kratos::LinearPlaneStrain, Kratos::ElasticIsotropic3D, Kratos::BeamConstitutiveLaw, Kratos::AxisymElasticIsotropic, Kratos::LinearElasticPlasticPlaneStress2DLaw, Kratos::LinearElasticPlasticPlaneStrain2DLaw, Kratos::LinearElasticPlastic3DLaw, Kratos::LinearElasticPlaneStress2DLaw, Kratos::LinearElasticPlaneStrain2DLaw, Kratos::LinearElasticOrthotropic3DLaw, Kratos::LinearElasticAxisym2DLaw, Kratos::LinearElastic3DLaw, Kratos::IsotropicDamageSimoJuPlaneStress2DLaw, Kratos::IsotropicDamageSimoJuPlaneStrain2DLaw, Kratos::IsotropicDamageSimoJu3DLaw, Kratos::IsotropicDamageModifiedMisesPlaneStress2DLaw, Kratos::IsotropicDamageModifiedMisesPlaneStrain2DLaw, Kratos::IsotropicDamageModifiedMises3DLaw, Kratos::HyperElasticUPPlaneStrain2DLaw, Kratos::HyperElasticUPAxisym2DLaw, Kratos::HyperElasticUP3DLaw, Kratos::HyperElasticPlasticUPPlaneStrain2DLaw, Kratos::HyperElasticPlasticUPJ2PlaneStrain2DLaw, Kratos::HyperElasticPlasticUPJ2Axisym2DLaw, Kratos::HyperElasticPlasticUPJ23DLaw, Kratos::HyperElasticPlasticUPAxisym2DLaw, Kratos::HyperElasticPlasticUP3DLaw, Kratos::HyperElasticPlasticThermalUPJohnsonCookPlaneStrain2DLaw, Kratos::HyperElasticPlasticThermalUPJohnsonCookAxisym2DLaw, Kratos::HyperElasticPlasticThermalUPJ2PlaneStrain2DLaw, Kratos::HyperElasticPlasticThermalUPJ2Axisym2DLaw, Kratos::HyperElasticPlasticThermalUPJ23DLaw, Kratos::HyperElasticPlasticThermalUPBakerJohnsonCookPlaneStrain2DLaw, Kratos::HyperElasticPlasticThermalJohnsonCookPlaneStrain2DLaw, Kratos::HyperElasticPlasticThermalJ2PlaneStrain2DLaw, Kratos::HyperElasticPlasticThermalBakerJohnsonCookPlaneStrain2DLaw, Kratos::HyperElasticPlasticPlaneStrain2DLaw, Kratos::HyperElasticPlasticJ2PlaneStrain2DLaw, Kratos::HyperElasticPlasticJ2Axisym2DLaw, Kratos::HyperElasticPlasticJ23DLaw, Kratos::HyperElasticPlasticAxisym2DLaw, Kratos::HyperElasticPlastic3DLaw, Kratos::HyperElasticPlaneStrain2DLaw, Kratos::HyperElasticAxisym2DLaw, Kratos::HyperElastic3DLaw, Kratos::RansNewtonian3DLaw, Kratos::RansNewtonian2DLaw, Kratos::SimoJuNonlocalDamagePlaneStress2DLaw, Kratos::SimoJuNonlocalDamagePlaneStrain2DLaw, Kratos::SimoJuNonlocalDamage3DLaw, Kratos::SimoJuLocalDamagePlaneStress2DLaw, Kratos::SimoJuLocalDamagePlaneStrain2DLaw, Kratos::SimoJuLocalDamage3DLaw, Kratos::NonlocalDamagePlaneStress2DLaw, Kratos::NonlocalDamagePlaneStrain2DLaw, Kratos::NonlocalDamage3DLaw, Kratos::ModifiedMisesNonlocalDamagePlaneStress2DLaw, Kratos::ModifiedMisesNonlocalDamagePlaneStrain2DLaw, Kratos::ModifiedMisesNonlocalDamage3DLaw, Kratos::LocalDamagePlaneStress2DLaw, Kratos::LocalDamagePlaneStrain2DLaw, Kratos::LocalDamage3DLaw, Kratos::LinearElasticPlastic3DLaw, Kratos::LinearElasticPlaneStress2DLaw, Kratos::LinearElasticPlaneStrain2DLaw, Kratos::LinearElastic3DLaw, Kratos::IsotropicDamageCohesive3DLaw, Kratos::IsotropicDamageCohesive2DLaw, Kratos::HyperElasticPlastic3DLaw, Kratos::HyperElastic3DLaw, Kratos::HistoryLinearElasticPlaneStress2DLaw, Kratos::HistoryLinearElasticPlaneStrain2DLaw, Kratos::HistoryLinearElastic3DLaw, Kratos::ExponentialCohesive3DLaw, Kratos::ExponentialCohesive2DLaw, Kratos::ElastoPlasticMohrCoulombCohesive3DLaw, Kratos::ElastoPlasticMohrCoulombCohesive2DLaw, Kratos::ElastoPlasticModMohrCoulombCohesive3DLaw, Kratos::ElastoPlasticModMohrCoulombCohesive2DLaw, Kratos::ElasticCohesive3DLaw, Kratos::ElasticCohesive2DLaw, Kratos::BilinearCohesive3DLaw, Kratos::BilinearCohesive2DLaw, Kratos::NonLinearHenckyElasticPlasticUPPlaneStrain2DLaw, Kratos::NonLinearHenckyElasticPlasticUPAxisym2DLaw, Kratos::NonLinearHenckyElasticPlasticUP3DLaw, Kratos::NonLinearHenckyElasticPlasticPlaneStrain2DLaw, Kratos::NonLinearHenckyElasticPlasticAxisym2DLaw, Kratos::NonLinearHenckyElasticPlastic3DLaw, Kratos::NewHenckyTrescaPlasticPlaneStrain2DLaw, Kratos::NewHenckyTrescaPlasticAxisym2DLaw, Kratos::HenckyPlasticUPTrescaPlaneStrain2DLaw, Kratos::HenckyPlasticUPTrescaAxisym2DLaw, Kratos::HenckyPlasticUPJ2PlaneStrain2DLaw, Kratos::HenckyPlasticUPJ2Axisym2DLaw, Kratos::HenckyTrescaPlasticPlaneStrain2DLaw, Kratos::HenckyTrescaPlasticAxisym2DLaw, Kratos::HenckyTresca3DLaw, Kratos::HenckyJ2PlasticPlaneStrain2DLaw, Kratos::HenckyJ2PlasticAxisym2DLaw, Kratos::BorjaHenckyCamClayPlasticPlaneStrain2DLaw, Kratos::BorjaHenckyCamClayPlasticAxisym2DLaw, Kratos::BorjaHenckyCamClayPlastic3DLaw, Kratos::HypoelasticTemperatureDependent3DLaw, Kratos::HypoelasticTemperatureDependent2DLaw, Kratos::PfemSolidConstitutiveLaw, Kratos::Hypoelastic3DLaw, Kratos::Hypoelastic2DLaw, Kratos::NewtonianTemperatureDependent3DLaw, Kratos::NewtonianTemperatureDependent2DLaw, Kratos::MuIRheologyTemperatureDependent3DLaw, Kratos::MuIRheologyTemperatureDependent2DLaw, Kratos::FrictionalViscoplasticTemperatureDependent3DLaw, Kratos::FrictionalViscoplasticTemperatureDependent2DLaw, Kratos::BinghamTemperatureDependent3DLaw, Kratos::BinghamTemperatureDependent2DLaw, Kratos::Newtonian3DLaw, Kratos::Newtonian2DLaw, Kratos::MuIRheology3DLaw, Kratos::MuIRheology2DLaw, Kratos::HerschelBulkley3DLaw, Kratos::HerschelBulkley2DLaw, Kratos::FrictionalViscoplastic3DLaw, Kratos::FrictionalViscoplastic2DLaw, Kratos::PfemFluidConstitutiveLaw, Kratos::Bingham3DLaw, Kratos::Bingham2DLaw, Kratos::LinearElasticPlaneStress2DLaw, Kratos::LinearElasticPlaneStrain2DLaw, Kratos::LinearElasticAxisym2DLaw, Kratos::LinearElastic3DLaw, Kratos::JohnsonCookThermalPlastic2DPlaneStrainLaw, Kratos::JohnsonCookThermalPlastic2DAxisymLaw, Kratos::JohnsonCookThermalPlastic3DLaw, Kratos::HyperElasticUP3DLaw, Kratos::HyperElasticPlaneStrainUP2DLaw, Kratos::HyperElasticPlaneStrain2DLaw, Kratos::HyperElasticAxisym2DLaw, Kratos::HyperElastic3DLaw, Kratos::HenckyElasticPlasticUP3DLaw, Kratos::HenckyElasticPlasticPlaneStrainUP2DLaw, Kratos::HenckyElasticPlasticPlaneStrain2DLaw, Kratos::HenckyElasticPlasticAxisym2DLaw, Kratos::HenckyElasticPlastic3DLaw, Kratos::HenckyMCPlasticUP3DLaw, Kratos::HenckyMCStrainSofteningPlasticPlaneStrain2DLaw, Kratos::HenckyMCStrainSofteningPlasticAxisym2DLaw, Kratos::HenckyMCStrainSofteningPlastic3DLaw, Kratos::HenckyMCPlasticPlaneStrainUP2DLaw, Kratos::HenckyMCPlasticPlaneStrain2DLaw, Kratos::HenckyMCPlasticAxisym2DLaw, Kratos::HenckyMCPlastic3DLaw, Kratos::HenckyBorjaCamClayPlasticPlaneStrain2DLaw, Kratos::HenckyBorjaCamClayPlasticAxisym2DLaw, Kratos::HenckyBorjaCamClayPlastic3DLaw, Kratos::DispNewtonianFluidPlaneStrain2DLaw, Kratos::DispNewtonianFluid3DLaw, Kratos::HelmholtzJacobianStiffened3D, Kratos::GeoThermalDispersionLaw, Kratos::SmallStrainUMAT3DLaw, Kratos::SmallStrainUMAT3DInterfaceLaw, Kratos::SmallStrainUMAT2DPlaneStrainLaw, Kratos::SmallStrainUMAT2DInterfaceLaw, Kratos::SmallStrainUDSM3DLaw, Kratos::SmallStrainUDSM3DInterfaceLaw, Kratos::SmallStrainUDSM2DPlaneStrainLaw, Kratos::SmallStrainUDSM2DInterfaceLaw, Kratos::GeoLinearElasticPlaneStress2DLaw, Kratos::LinearPlaneStrainK0Law, Kratos::GeoLinearElasticPlaneStrain2DLaw, Kratos::LinearElastic3DInterfaceLaw, Kratos::LinearElastic2DInterfaceLaw, Kratos::LinearElastic2DBeamLaw, Kratos::ElasticIsotropicK03DLaw, Kratos::BilinearCohesive3DLaw, Kratos::BilinearCohesive2DLaw, Kratos::NewtonianTwoFluid3DLaw, Kratos::NewtonianTwoFluid2DLaw, Kratos::NewtonianTemperatureDependent3DLaw, Kratos::NewtonianTemperatureDependent2DLaw, Kratos::Newtonian3DLaw, Kratos::Newtonian2DLaw, Kratos::HerschelBulkley3DLaw, Kratos::FluidConstitutiveLaw, Kratos::Euler3DLaw, Kratos::Euler2DLaw, Kratos::Bingham3DLaw, Kratos::LinearPlaneStressFEMDEM, Kratos::LinearPlaneStrainFEMDEM, Kratos::HyperElasticIsotropicNeoHookeanPlaneStrain2DFEMDEM, Kratos::HyperElasticIsotropicNeoHookean3DFEMDEM, Kratos::ElasticIsotropic3DFEMDEM, Kratos::ThermalSimoJuNonlocalDamagePlaneStress2DLaw, Kratos::ThermalSimoJuNonlocalDamagePlaneStrain2DLaw, Kratos::ThermalSimoJuNonlocalDamage3DLaw, Kratos::ThermalSimoJuLocalDamagePlaneStress2DLaw, Kratos::ThermalSimoJuLocalDamagePlaneStrain2DLaw, Kratos::ThermalSimoJuLocalDamage3DLaw, Kratos::ThermalNonlocalDamagePlaneStress2DLaw, Kratos::ThermalNonlocalDamagePlaneStrain2DLaw, Kratos::ThermalNonlocalDamage3DLaw, Kratos::ThermalModifiedMisesNonlocalDamagePlaneStress2DLaw, Kratos::ThermalModifiedMisesNonlocalDamagePlaneStrain2DLaw, Kratos::ThermalModifiedMisesNonlocalDamage3DLaw, Kratos::ThermalLocalDamagePlaneStress2DLaw, Kratos::ThermalLocalDamagePlaneStrain2DLaw, Kratos::ThermalLocalDamage3DLaw, Kratos::ThermalLinearElastic3DLawNodal, Kratos::ThermalLinearElastic3DLaw, Kratos::ThermalLinearElastic2DPlaneStressNodal, Kratos::ThermalLinearElastic2DPlaneStress, Kratos::ThermalLinearElastic2DPlaneStrainNodal, Kratos::ThermalLinearElastic2DPlaneStrain, Kratos::LinearElastic3DLawNodal, Kratos::LinearElastic2DPlaneStressNodal, Kratos::LinearElastic2DPlaneStrainNodal, Kratos::StrainRatePlaneStrain2DLaw, Kratos::StrainRate3DLaw, Kratos::NewtonianFluidPlaneStrain2DLaw, Kratos::NewtonianFluid3DLaw, Kratos::SmallStrainPlaneStress2DLaw, Kratos::SmallStrainPlaneStrain2DLaw, Kratos::SmallStrainOrthotropic3DLaw, Kratos::SmallStrainAxisymmetric2DLaw, Kratos::SmallStrain3DLaw, Kratos::LargeStrainPlaneStrain2DLaw, Kratos::LargeStrainAxisymmetric2DLaw, Kratos::LargeStrain3DLaw, Kratos::Constitutive3DLaw, Kratos::ThermalLinearPlaneStress, Kratos::ThermalLinearPlaneStrain, Kratos::ThermalElasticIsotropic3D, Kratos::ViscousGeneralizedMaxwell< Kratos::ElasticIsotropic3D >, Kratos::ViscousGeneralizedKelvin< Kratos::ElasticIsotropic3D >, Kratos::GenericSmallStrainViscoplasticity3D, Kratos::TrussPlasticityConstitutiveLaw, Kratos::SmallStrainJ2PlasticityPlaneStrain2D, Kratos::SmallStrainJ2Plasticity3D, Kratos::PlasticityIsotropicKinematicJ2, Kratos::WrinklingLinear2DLaw, Kratos::MultiLinearIsotropicPlaneStress2D, Kratos::MultiLinearElastic1DLaw, Kratos::LinearElasticOrthotropic2DLaw, Kratos::ElasticIsotropicPlaneStressUncoupledShear, Kratos::SmallStrainIsotropicDamageTractionOnlyImplex3D, Kratos::SmallStrainIsotropicDamageTractionOnly3D, Kratos::SmallStrainIsotropicDamagePlaneStrain2D, Kratos::SmallStrainIsotropicDamageImplex3D, Kratos::SmallStrainIsotropicDamage3D, Kratos::DamageDPlusDMinusMasonry2DLaw, Kratos::DamageDPlusDMinusMasonry3DLaw, Kratos::GenericAnisotropic3DLaw, Kratos::HyperElasticSimoTaylorNeoHookeanPlaneStrain2D, Kratos::HyperElasticSimoTaylorNeoHookean3D, Kratos::HyperElasticIsotropicQuasiIncompressibleIshochoricNeoHookean3D, Kratos::HyperElasticIsotropicOgden1D, Kratos::HyperElasticIsotropicNeoHookeanPlaneStrain2D, Kratos::HyperElasticIsotropicNeoHookean3D, Kratos::HyperElasticIsotropicKirchhoffPlaneStress2D, Kratos::HyperElasticIsotropicKirchhoffPlaneStrain2D, Kratos::HyperElasticIsotropicKirchhoff3D, Kratos::HyperElasticIsotropicHenky1D, Kratos::TractionSeparationLaw3D< TDim >, Kratos::TractionSeparationLaw3D< 3 >, Kratos::SerialParallelRuleOfMixturesLaw, Kratos::ParallelRuleOfMixturesLaw< TDim >, Kratos::ParallelRuleOfMixturesLaw< 2 >, Kratos::ParallelRuleOfMixturesLaw< 3 >, and Kratos::PythonOutfittedConstitutiveLaw.
|
protected |
This method performs a pull-back or a push-forward between two constitutive matrices
|
protected |
This method performs a contra-variant pull-back between to tensors i.e. Kirchhoff stress to 2nd PK stress
|
protected |
This method performs a contra-variant push-forward between to tensors i.e. 2nd PK stress to Kirchhoff stress
This method performs a co-variant pull-back between to tensors i.e. Almansi strain to Green-Lagrange strain
|
protected |
This method performs a co-variant push-forward between to tensors i.e. Green-Lagrange strain to Almansi strain
|
virtual |
It creates a new constitutive law pointer.
NewParameters | The configuration parameters of the new constitutive law |
Reimplemented in Kratos::GenericSmallStrainViscoplasticity3D, Kratos::SmallStrainKinematicPlasticityFactory, Kratos::SmallStrainIsotropicPlasticityFactory, Kratos::WrinklingLinear2DLaw, Kratos::SmallStrainIsotropicDamageFactory, Kratos::GenericAnisotropic3DLaw, Kratos::FiniteStrainKinematicPlasticityFactory, Kratos::FiniteStrainIsotropicPlasticityFactory, Kratos::TractionSeparationLaw3D< TDim >, Kratos::TractionSeparationLaw3D< 3 >, Kratos::SerialParallelRuleOfMixturesLaw, Kratos::ParallelRuleOfMixturesLaw< TDim >, Kratos::ParallelRuleOfMixturesLaw< 2 >, and Kratos::ParallelRuleOfMixturesLaw< 3 >.
|
virtual |
It creates a new constitutive law pointer (version with properties)
NewParameters | The configuration parameters of the new constitutive law |
rProperties | The properties of the material |
void Kratos::ConstitutiveLaw::FinalizeMaterialResponse | ( | Parameters & | rValues, |
const StressMeasure & | rStressMeasure | ||
) |
Finalize the material response, called by the element in FinalizeSolutionStep.
Updates the material response, called by the element in FinalizeSolutionStep.
|
virtual |
Finalize the material response in terms of Cauchy stresses
Updates the material response in terms of Cauchy stresses
Reimplemented in Kratos::UserProvidedLinearElasticLaw< TDim >, Kratos::UserProvidedLinearElasticLaw< 2 >, Kratos::UserProvidedLinearElasticLaw< 3 >, Kratos::HyperElastic3DLaw, Kratos::NonlocalDamage3DLaw, Kratos::LocalDamage3DLaw, Kratos::IsotropicDamageCohesive3DLaw, Kratos::HyperElastic3DLaw, Kratos::ExponentialCohesive3DLaw, Kratos::ElastoPlasticMohrCoulombCohesive3DLaw, Kratos::ElastoPlasticModMohrCoulombCohesive3DLaw, Kratos::ElasticCohesive3DLaw, Kratos::BilinearCohesive3DLaw, Kratos::HyperElastic3DLaw, Kratos::DispNewtonianFluid3DLaw, Kratos::BilinearCohesive3DLaw, Kratos::ThermalNonlocalDamage3DLaw, Kratos::ThermalLocalDamage3DLaw, Kratos::NewtonianFluid3DLaw, Kratos::Constitutive3DLaw, Kratos::SmallStrainIsotropicDamageImplex3D, Kratos::SmallStrainIsotropicDamage3D, Kratos::ParallelRuleOfMixturesLaw< TDim >, Kratos::ParallelRuleOfMixturesLaw< 2 >, Kratos::ParallelRuleOfMixturesLaw< 3 >, Kratos::PythonOutfittedConstitutiveLaw, Kratos::ElasticIsotropic3D, Kratos::SmallStrainUMAT3DLaw, Kratos::SmallStrainUDSM3DLaw, Kratos::GeoLinearElasticPlaneStrain2DLaw, Kratos::HyperElasticIsotropicNeoHookean3DFEMDEM, Kratos::ElasticIsotropic3DFEMDEM, Kratos::ViscousGeneralizedMaxwell< Kratos::ElasticIsotropic3D >, Kratos::ViscousGeneralizedKelvin< Kratos::ElasticIsotropic3D >, Kratos::GenericSmallStrainViscoplasticity3D, Kratos::SmallStrainJ2Plasticity3D, Kratos::PlasticityIsotropicKinematicJ2, Kratos::DamageDPlusDMinusMasonry2DLaw, Kratos::DamageDPlusDMinusMasonry3DLaw, Kratos::GenericAnisotropic3DLaw, Kratos::HyperElasticIsotropicQuasiIncompressibleIshochoricNeoHookean3D, Kratos::HyperElasticIsotropicNeoHookean3D, Kratos::HyperElasticIsotropicKirchhoff3D, Kratos::TractionSeparationLaw3D< TDim >, Kratos::TractionSeparationLaw3D< 3 >, and Kratos::SerialParallelRuleOfMixturesLaw.
|
virtual |
Finalize the material response in terms of Kirchhoff stresses
Updates the material response in terms of Kirchhoff stresses
Reimplemented in Kratos::UserProvidedLinearElasticLaw< TDim >, Kratos::UserProvidedLinearElasticLaw< 2 >, Kratos::UserProvidedLinearElasticLaw< 3 >, Kratos::HyperElastic3DLaw, Kratos::HyperElastic3DLaw, Kratos::HyperElastic3DLaw, Kratos::DispNewtonianFluid3DLaw, Kratos::Constitutive3DLaw, Kratos::SmallStrainJ2Plasticity3D, Kratos::ParallelRuleOfMixturesLaw< TDim >, Kratos::ParallelRuleOfMixturesLaw< 2 >, Kratos::ParallelRuleOfMixturesLaw< 3 >, Kratos::PythonOutfittedConstitutiveLaw, Kratos::ElasticIsotropic3D, Kratos::SmallStrainUMAT3DLaw, Kratos::SmallStrainUDSM3DLaw, Kratos::HyperElasticIsotropicNeoHookean3DFEMDEM, Kratos::ElasticIsotropic3DFEMDEM, Kratos::ViscousGeneralizedMaxwell< Kratos::ElasticIsotropic3D >, Kratos::ViscousGeneralizedKelvin< Kratos::ElasticIsotropic3D >, Kratos::GenericSmallStrainViscoplasticity3D, Kratos::PlasticityIsotropicKinematicJ2, Kratos::DamageDPlusDMinusMasonry2DLaw, Kratos::DamageDPlusDMinusMasonry3DLaw, Kratos::GenericAnisotropic3DLaw, Kratos::HyperElasticIsotropicQuasiIncompressibleIshochoricNeoHookean3D, Kratos::HyperElasticIsotropicNeoHookean3D, Kratos::HyperElasticIsotropicKirchhoff3D, Kratos::TractionSeparationLaw3D< TDim >, Kratos::TractionSeparationLaw3D< 3 >, and Kratos::SerialParallelRuleOfMixturesLaw.
|
virtual |
Finalize the material response in terms of 1st Piola-Kirchhoff stresses
Reimplemented in Kratos::UserProvidedLinearElasticLaw< TDim >, Kratos::UserProvidedLinearElasticLaw< 2 >, Kratos::UserProvidedLinearElasticLaw< 3 >, Kratos::HyperElastic3DLaw, Kratos::HyperElastic3DLaw, Kratos::Constitutive3DLaw, Kratos::ParallelRuleOfMixturesLaw< TDim >, Kratos::ParallelRuleOfMixturesLaw< 2 >, Kratos::ParallelRuleOfMixturesLaw< 3 >, Kratos::PythonOutfittedConstitutiveLaw, Kratos::ElasticIsotropic3D, Kratos::SmallStrainUMAT3DLaw, Kratos::SmallStrainUDSM3DLaw, Kratos::HyperElasticIsotropicNeoHookean3DFEMDEM, Kratos::ElasticIsotropic3DFEMDEM, Kratos::ViscousGeneralizedMaxwell< Kratos::ElasticIsotropic3D >, Kratos::ViscousGeneralizedKelvin< Kratos::ElasticIsotropic3D >, Kratos::GenericSmallStrainViscoplasticity3D, Kratos::SmallStrainJ2Plasticity3D, Kratos::PlasticityIsotropicKinematicJ2, Kratos::DamageDPlusDMinusMasonry2DLaw, Kratos::DamageDPlusDMinusMasonry3DLaw, Kratos::GenericAnisotropic3DLaw, Kratos::HyperElasticIsotropicQuasiIncompressibleIshochoricNeoHookean3D, Kratos::HyperElasticIsotropicNeoHookean3D, Kratos::HyperElasticIsotropicKirchhoff3D, Kratos::TractionSeparationLaw3D< TDim >, Kratos::TractionSeparationLaw3D< 3 >, and Kratos::SerialParallelRuleOfMixturesLaw.
|
virtual |
Finalize the material response in terms of 2nd Piola-Kirchhoff stresses
Updates the material response in terms of 2nd Piola-Kirchhoff stresses
Reimplemented in Kratos::UserProvidedLinearElasticLaw< TDim >, Kratos::UserProvidedLinearElasticLaw< 2 >, Kratos::UserProvidedLinearElasticLaw< 3 >, Kratos::TrussConstitutiveLaw, Kratos::HyperElastic3DLaw, Kratos::HyperElastic3DLaw, Kratos::Constitutive3DLaw, Kratos::TrussPlasticityConstitutiveLaw, Kratos::WrinklingLinear2DLaw, Kratos::HyperElasticIsotropicOgden1D, Kratos::HyperElasticIsotropicHenky1D, Kratos::ParallelRuleOfMixturesLaw< TDim >, Kratos::ParallelRuleOfMixturesLaw< 2 >, Kratos::ParallelRuleOfMixturesLaw< 3 >, Kratos::PythonOutfittedConstitutiveLaw, Kratos::ElasticIsotropic3D, Kratos::SmallStrainUMAT3DLaw, Kratos::SmallStrainUDSM3DLaw, Kratos::GeoLinearElasticPlaneStrain2DLaw, Kratos::HyperElasticIsotropicNeoHookean3DFEMDEM, Kratos::ElasticIsotropic3DFEMDEM, Kratos::ViscousGeneralizedMaxwell< Kratos::ElasticIsotropic3D >, Kratos::ViscousGeneralizedKelvin< Kratos::ElasticIsotropic3D >, Kratos::GenericSmallStrainViscoplasticity3D, Kratos::SmallStrainJ2Plasticity3D, Kratos::PlasticityIsotropicKinematicJ2, Kratos::DamageDPlusDMinusMasonry2DLaw, Kratos::DamageDPlusDMinusMasonry3DLaw, Kratos::GenericAnisotropic3DLaw, Kratos::HyperElasticIsotropicQuasiIncompressibleIshochoricNeoHookean3D, Kratos::HyperElasticIsotropicNeoHookean3D, Kratos::HyperElasticIsotropicKirchhoff3D, Kratos::TractionSeparationLaw3D< TDim >, Kratos::TractionSeparationLaw3D< 3 >, and Kratos::SerialParallelRuleOfMixturesLaw.
|
virtual |
to be called at the end of each step iteration (e.g. from Element::FinalizeNonLinearIteration)
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 |
the | current ProcessInfo instance |
|
virtual |
to be called at the end of each solution step (e.g. from Element::FinalizeSolutionStep)
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 |
the | current ProcessInfo instance |
Reimplemented in Kratos::GenericSmallStrainViscoplasticity3D, Kratos::PlasticityIsotropicKinematicJ2, Kratos::DamageDPlusDMinusMasonry2DLaw, and Kratos::DamageDPlusDMinusMasonry3DLaw.
|
protected |
This method gets the constitutive tensor components from a consitutive matrix supplied in voigt notation
|
inline |
|
virtual |
This function is designed to be called once to check compatibility with element
rFeatures |
Reimplemented in Kratos::UserProvidedLinearElasticLaw< TDim >, Kratos::UserProvidedLinearElasticLaw< 2 >, Kratos::UserProvidedLinearElasticLaw< 3 >, Kratos::TrussConstitutiveLaw, Kratos::LinearPlaneStress, Kratos::LinearPlaneStrain, Kratos::ElasticIsotropic3D, Kratos::BeamConstitutiveLaw, Kratos::AxisymElasticIsotropic, Kratos::LinearElasticPlasticPlaneStress2DLaw, Kratos::LinearElasticPlasticPlaneStrain2DLaw, Kratos::LinearElasticPlastic3DLaw, Kratos::LinearElasticPlaneStress2DLaw, Kratos::LinearElasticPlaneStrain2DLaw, Kratos::LinearElasticOrthotropic3DLaw, Kratos::LinearElasticAxisym2DLaw, Kratos::LinearElastic3DLaw, Kratos::HyperElasticUPPlaneStrain2DLaw, Kratos::HyperElasticUPAxisym2DLaw, Kratos::HyperElasticUP3DLaw, Kratos::HyperElasticPlasticUPPlaneStrain2DLaw, Kratos::HyperElasticPlasticUPAxisym2DLaw, Kratos::HyperElasticPlasticUP3DLaw, Kratos::HyperElasticPlasticPlaneStrain2DLaw, Kratos::HyperElasticPlasticAxisym2DLaw, Kratos::HyperElasticPlastic3DLaw, Kratos::HyperElasticPlaneStrain2DLaw, Kratos::HyperElasticAxisym2DLaw, Kratos::HyperElastic3DLaw, Kratos::NonlocalDamagePlaneStress2DLaw, Kratos::NonlocalDamagePlaneStrain2DLaw, Kratos::LocalDamagePlaneStress2DLaw, Kratos::LocalDamagePlaneStrain2DLaw, Kratos::LinearElasticPlastic3DLaw, Kratos::LinearElasticPlaneStress2DLaw, Kratos::LinearElasticPlaneStrain2DLaw, Kratos::LinearElastic3DLaw, Kratos::IsotropicDamageCohesive3DLaw, Kratos::IsotropicDamageCohesive2DLaw, Kratos::HyperElasticPlastic3DLaw, Kratos::HyperElastic3DLaw, Kratos::HistoryLinearElasticPlaneStress2DLaw, Kratos::HistoryLinearElasticPlaneStrain2DLaw, Kratos::ElastoPlasticMohrCoulombCohesive3DLaw, Kratos::ElastoPlasticMohrCoulombCohesive2DLaw, Kratos::ElastoPlasticModMohrCoulombCohesive3DLaw, Kratos::ElastoPlasticModMohrCoulombCohesive2DLaw, Kratos::ElasticCohesive3DLaw, Kratos::ElasticCohesive2DLaw, Kratos::BilinearCohesive3DLaw, Kratos::BilinearCohesive2DLaw, Kratos::NonLinearHenckyElasticPlasticUPPlaneStrain2DLaw, Kratos::NonLinearHenckyElasticPlasticUPAxisym2DLaw, Kratos::NonLinearHenckyElasticPlasticUP3DLaw, Kratos::NonLinearHenckyElasticPlasticPlaneStrain2DLaw, Kratos::NonLinearHenckyElasticPlasticAxisym2DLaw, Kratos::NonLinearHenckyElasticPlastic3DLaw, Kratos::LinearElasticPlaneStress2DLaw, Kratos::LinearElasticPlaneStrain2DLaw, Kratos::LinearElasticAxisym2DLaw, Kratos::LinearElastic3DLaw, Kratos::JohnsonCookThermalPlastic3DLaw, Kratos::HyperElasticUP3DLaw, Kratos::HyperElasticPlaneStrainUP2DLaw, Kratos::HyperElasticPlaneStrain2DLaw, Kratos::HyperElasticAxisym2DLaw, Kratos::HyperElastic3DLaw, Kratos::HenckyElasticPlasticUP3DLaw, Kratos::HenckyElasticPlasticPlaneStrainUP2DLaw, Kratos::HenckyElasticPlastic3DLaw, Kratos::DispNewtonianFluidPlaneStrain2DLaw, Kratos::DispNewtonianFluid3DLaw, Kratos::SmallStrainUMAT3DLaw, Kratos::SmallStrainUDSM3DLaw, Kratos::GeoLinearElasticPlaneStress2DLaw, Kratos::LinearPlaneStrainK0Law, Kratos::GeoLinearElasticPlaneStrain2DLaw, Kratos::LinearElastic3DInterfaceLaw, Kratos::LinearElastic2DInterfaceLaw, Kratos::LinearElastic2DBeamLaw, Kratos::ElasticIsotropicK03DLaw, Kratos::BilinearCohesive3DLaw, Kratos::BilinearCohesive2DLaw, Kratos::LinearPlaneStressFEMDEM, Kratos::LinearPlaneStrainFEMDEM, Kratos::HyperElasticIsotropicNeoHookeanPlaneStrain2DFEMDEM, Kratos::HyperElasticIsotropicNeoHookean3DFEMDEM, Kratos::ElasticIsotropic3DFEMDEM, Kratos::ThermalNonlocalDamagePlaneStress2DLaw, Kratos::ThermalNonlocalDamagePlaneStrain2DLaw, Kratos::ThermalLocalDamagePlaneStress2DLaw, Kratos::ThermalLocalDamagePlaneStrain2DLaw, Kratos::ThermalLinearElastic2DPlaneStressNodal, Kratos::ThermalLinearElastic2DPlaneStress, Kratos::ThermalLinearElastic2DPlaneStrainNodal, Kratos::ThermalLinearElastic2DPlaneStrain, Kratos::LinearElastic2DPlaneStressNodal, Kratos::LinearElastic2DPlaneStrainNodal, Kratos::StrainRatePlaneStrain2DLaw, Kratos::StrainRate3DLaw, Kratos::NewtonianFluidPlaneStrain2DLaw, Kratos::NewtonianFluid3DLaw, Kratos::SmallStrainPlaneStress2DLaw, Kratos::SmallStrainPlaneStrain2DLaw, Kratos::SmallStrainOrthotropic3DLaw, Kratos::SmallStrainAxisymmetric2DLaw, Kratos::SmallStrain3DLaw, Kratos::LargeStrainPlaneStrain2DLaw, Kratos::LargeStrainAxisymmetric2DLaw, Kratos::LargeStrain3DLaw, Kratos::Constitutive3DLaw, Kratos::TrussPlasticityConstitutiveLaw, Kratos::SmallStrainJ2PlasticityPlaneStrain2D, Kratos::SmallStrainJ2Plasticity3D, Kratos::PlasticityIsotropicKinematicJ2, Kratos::WrinklingLinear2DLaw, Kratos::LinearElasticOrthotropic2DLaw, Kratos::SmallStrainIsotropicDamagePlaneStrain2D, Kratos::SmallStrainIsotropicDamageImplex3D, Kratos::SmallStrainIsotropicDamage3D, Kratos::DamageDPlusDMinusMasonry2DLaw, Kratos::HyperElasticIsotropicQuasiIncompressibleIshochoricNeoHookean3D, Kratos::HyperElasticIsotropicOgden1D, Kratos::HyperElasticIsotropicNeoHookeanPlaneStrain2D, Kratos::HyperElasticIsotropicNeoHookean3D, Kratos::HyperElasticIsotropicKirchhoffPlaneStress2D, Kratos::HyperElasticIsotropicKirchhoffPlaneStrain2D, Kratos::HyperElasticIsotropicKirchhoff3D, Kratos::HyperElasticIsotropicHenky1D, Kratos::ParallelRuleOfMixturesLaw< TDim >, Kratos::ParallelRuleOfMixturesLaw< 2 >, Kratos::ParallelRuleOfMixturesLaw< 3 >, and Kratos::PythonOutfittedConstitutiveLaw.
|
virtual |
returns the expected strain measure of this constitutive law (by default linear strains)
Reimplemented in Kratos::UserProvidedLinearElasticLaw< TDim >, Kratos::UserProvidedLinearElasticLaw< 2 >, Kratos::UserProvidedLinearElasticLaw< 3 >, Kratos::ElasticIsotropic3D, Kratos::SmallStrainUMAT3DLaw, Kratos::SmallStrainUMAT3DInterfaceLaw, Kratos::SmallStrainUMAT2DPlaneStrainLaw, Kratos::SmallStrainUMAT2DInterfaceLaw, Kratos::SmallStrainUDSM3DLaw, Kratos::SmallStrainUDSM3DInterfaceLaw, Kratos::SmallStrainUDSM2DPlaneStrainLaw, Kratos::SmallStrainUDSM2DInterfaceLaw, Kratos::GeoLinearElasticLaw, Kratos::HyperElasticIsotropicNeoHookean3DFEMDEM, Kratos::ElasticIsotropic3DFEMDEM, Kratos::DamageDPlusDMinusMasonry2DLaw, Kratos::HyperElasticSimoTaylorNeoHookean3D, Kratos::HyperElasticIsotropicQuasiIncompressibleIshochoricNeoHookean3D, Kratos::HyperElasticIsotropicNeoHookean3D, Kratos::HyperElasticIsotropicKirchhoff3D, Kratos::ParallelRuleOfMixturesLaw< TDim >, Kratos::ParallelRuleOfMixturesLaw< 2 >, and Kratos::ParallelRuleOfMixturesLaw< 3 >.
|
virtual |
returns the size of the strain vector of the current constitutive law NOTE: this function HAS TO BE IMPLEMENTED by any derived class
Reimplemented in Kratos::UserProvidedLinearElasticLaw< TDim >, Kratos::UserProvidedLinearElasticLaw< 2 >, Kratos::UserProvidedLinearElasticLaw< 3 >, Kratos::TrussConstitutiveLaw, Kratos::LinearPlaneStress, Kratos::LinearPlaneStrain, Kratos::ElasticIsotropic3D, Kratos::BeamConstitutiveLaw, Kratos::AxisymElasticIsotropic, Kratos::LinearElasticPlasticPlaneStrain2DLaw, Kratos::LinearElasticPlaneStrain2DLaw, Kratos::LinearElasticAxisym2DLaw, Kratos::HyperElasticUPPlaneStrain2DLaw, Kratos::HyperElasticUPAxisym2DLaw, Kratos::HyperElasticPlasticUPPlaneStrain2DLaw, Kratos::HyperElasticPlasticUPAxisym2DLaw, Kratos::HyperElasticPlasticPlaneStrain2DLaw, Kratos::HyperElasticPlasticAxisym2DLaw, Kratos::HyperElasticPlastic3DLaw, Kratos::HyperElasticPlaneStrain2DLaw, Kratos::HyperElasticAxisym2DLaw, Kratos::HyperElastic3DLaw, Kratos::NonlocalDamagePlaneStrain2DLaw, Kratos::LocalDamagePlaneStrain2DLaw, Kratos::LinearElasticPlaneStrain2DLaw, Kratos::HyperElasticPlastic3DLaw, Kratos::HyperElastic3DLaw, Kratos::HistoryLinearElasticPlaneStrain2DLaw, Kratos::NonLinearHenckyElasticPlasticUPPlaneStrain2DLaw, Kratos::NonLinearHenckyElasticPlasticUPAxisym2DLaw, Kratos::NonLinearHenckyElasticPlasticUP3DLaw, Kratos::NonLinearHenckyElasticPlasticPlaneStrain2DLaw, Kratos::NonLinearHenckyElasticPlasticAxisym2DLaw, Kratos::NonLinearHenckyElasticPlastic3DLaw, Kratos::PfemSolidConstitutiveLaw, Kratos::Hypoelastic3DLaw, Kratos::Hypoelastic2DLaw, Kratos::Newtonian3DLaw, Kratos::Newtonian2DLaw, Kratos::MuIRheology3DLaw, Kratos::MuIRheology2DLaw, Kratos::HerschelBulkley3DLaw, Kratos::HerschelBulkley2DLaw, Kratos::FrictionalViscoplastic3DLaw, Kratos::FrictionalViscoplastic2DLaw, Kratos::PfemFluidConstitutiveLaw, Kratos::Bingham3DLaw, Kratos::Bingham2DLaw, Kratos::LinearElasticPlaneStrain2DLaw, Kratos::LinearElasticAxisym2DLaw, Kratos::JohnsonCookThermalPlastic2DPlaneStrainLaw, Kratos::JohnsonCookThermalPlastic2DAxisymLaw, Kratos::HyperElasticPlaneStrainUP2DLaw, Kratos::HyperElasticPlaneStrain2DLaw, Kratos::HyperElasticAxisym2DLaw, Kratos::HyperElastic3DLaw, Kratos::HenckyElasticPlasticUP3DLaw, Kratos::HenckyElasticPlasticPlaneStrainUP2DLaw, Kratos::HenckyElasticPlasticPlaneStrain2DLaw, Kratos::HenckyElasticPlasticAxisym2DLaw, Kratos::HenckyElasticPlastic3DLaw, Kratos::DispNewtonianFluidPlaneStrain2DLaw, Kratos::DispNewtonianFluid3DLaw, Kratos::HelmholtzJacobianStiffened3D, Kratos::SmallStrainUMAT3DLaw, Kratos::SmallStrainUMAT3DInterfaceLaw, Kratos::SmallStrainUMAT2DPlaneStrainLaw, Kratos::SmallStrainUMAT2DInterfaceLaw, Kratos::SmallStrainUDSM3DLaw, Kratos::SmallStrainUDSM3DInterfaceLaw, Kratos::SmallStrainUDSM2DPlaneStrainLaw, Kratos::SmallStrainUDSM2DInterfaceLaw, Kratos::GeoLinearElasticPlaneStress2DLaw, Kratos::LinearPlaneStrainK0Law, Kratos::GeoLinearElasticPlaneStrain2DLaw, Kratos::LinearElastic3DInterfaceLaw, Kratos::LinearElastic2DInterfaceLaw, Kratos::LinearElastic2DBeamLaw, Kratos::ElasticIsotropicK03DLaw, Kratos::BilinearCohesive3DLaw, Kratos::BilinearCohesive2DLaw, Kratos::Newtonian3DLaw, Kratos::Newtonian2DLaw, Kratos::HerschelBulkley3DLaw, Kratos::FluidConstitutiveLaw, Kratos::Euler3DLaw, Kratos::Euler2DLaw, Kratos::Bingham3DLaw, Kratos::LinearPlaneStressFEMDEM, Kratos::LinearPlaneStrainFEMDEM, Kratos::HyperElasticIsotropicNeoHookeanPlaneStrain2DFEMDEM, Kratos::HyperElasticIsotropicNeoHookean3DFEMDEM, Kratos::ElasticIsotropic3DFEMDEM, Kratos::ThermalNonlocalDamagePlaneStrain2DLaw, Kratos::ThermalLocalDamagePlaneStrain2DLaw, Kratos::ThermalLinearElastic2DPlaneStrainNodal, Kratos::ThermalLinearElastic2DPlaneStrain, Kratos::LinearElastic2DPlaneStrainNodal, Kratos::StrainRatePlaneStrain2DLaw, Kratos::NewtonianFluidPlaneStrain2DLaw, Kratos::NewtonianFluid3DLaw, Kratos::SmallStrainPlaneStress2DLaw, Kratos::SmallStrainPlaneStrain2DLaw, Kratos::SmallStrainOrthotropic3DLaw, Kratos::SmallStrainAxisymmetric2DLaw, Kratos::LargeStrainPlaneStrain2DLaw, Kratos::LargeStrainAxisymmetric2DLaw, Kratos::Constitutive3DLaw, Kratos::ThermalLinearPlaneStrain, Kratos::GenericSmallStrainViscoplasticity3D, Kratos::TrussPlasticityConstitutiveLaw, Kratos::SmallStrainJ2PlasticityPlaneStrain2D, Kratos::SmallStrainJ2Plasticity3D, Kratos::PlasticityIsotropicKinematicJ2, Kratos::WrinklingLinear2DLaw, Kratos::LinearElasticOrthotropic2DLaw, Kratos::SmallStrainIsotropicDamagePlaneStrain2D, Kratos::DamageDPlusDMinusMasonry2DLaw, Kratos::DamageDPlusDMinusMasonry3DLaw, Kratos::GenericAnisotropic3DLaw, Kratos::HyperElasticSimoTaylorNeoHookeanPlaneStrain2D, Kratos::HyperElasticSimoTaylorNeoHookean3D, Kratos::HyperElasticIsotropicQuasiIncompressibleIshochoricNeoHookean3D, Kratos::HyperElasticIsotropicOgden1D, Kratos::HyperElasticIsotropicNeoHookeanPlaneStrain2D, Kratos::HyperElasticIsotropicNeoHookean3D, Kratos::HyperElasticIsotropicKirchhoffPlaneStress2D, Kratos::HyperElasticIsotropicKirchhoffPlaneStrain2D, Kratos::HyperElasticIsotropicKirchhoff3D, Kratos::HyperElasticIsotropicHenky1D, Kratos::SerialParallelRuleOfMixturesLaw, Kratos::ParallelRuleOfMixturesLaw< TDim >, Kratos::ParallelRuleOfMixturesLaw< 2 >, and Kratos::ParallelRuleOfMixturesLaw< 3 >.
|
virtual |
returns the stress measure of this constitutive law (by default 1st Piola-Kirchhoff stress in voigt notation)
Reimplemented in Kratos::UserProvidedLinearElasticLaw< TDim >, Kratos::UserProvidedLinearElasticLaw< 2 >, Kratos::UserProvidedLinearElasticLaw< 3 >, Kratos::ElasticIsotropic3D, Kratos::SmallStrainUMAT3DLaw, Kratos::SmallStrainUMAT3DInterfaceLaw, Kratos::SmallStrainUMAT2DPlaneStrainLaw, Kratos::SmallStrainUMAT2DInterfaceLaw, Kratos::SmallStrainUDSM3DLaw, Kratos::SmallStrainUDSM3DInterfaceLaw, Kratos::SmallStrainUDSM2DPlaneStrainLaw, Kratos::SmallStrainUDSM2DInterfaceLaw, Kratos::GeoLinearElasticLaw, Kratos::HyperElasticIsotropicNeoHookean3DFEMDEM, Kratos::ElasticIsotropic3DFEMDEM, Kratos::DamageDPlusDMinusMasonry2DLaw, Kratos::HyperElasticSimoTaylorNeoHookean3D, Kratos::HyperElasticIsotropicQuasiIncompressibleIshochoricNeoHookean3D, Kratos::HyperElasticIsotropicNeoHookean3D, Kratos::HyperElasticIsotropicKirchhoff3D, Kratos::ParallelRuleOfMixturesLaw< TDim >, Kratos::ParallelRuleOfMixturesLaw< 2 >, and Kratos::ParallelRuleOfMixturesLaw< 3 >.
|
virtual |
Returns the value of a specified variable (array of 3 components)
rThisVariable | the variable to be returned |
rValue | a reference to the returned value |
returns the value of a specified variable
rThisVariable | the variable to be returned |
rValue | a reference to the returned value |
Reimplemented in Kratos::DamageDPlusDMinusMasonry2DLaw, Kratos::TrussConstitutiveLaw, Kratos::Constitutive3DLaw, Kratos::TrussPlasticityConstitutiveLaw, Kratos::HyperElasticIsotropicOgden1D, Kratos::HyperElasticIsotropicHenky1D, Kratos::ParallelRuleOfMixturesLaw< TDim >, Kratos::ParallelRuleOfMixturesLaw< 2 >, and Kratos::ParallelRuleOfMixturesLaw< 3 >.
|
virtual |
Returns the value of a specified variable (array of 6 components)
rThisVariable | the variable to be returned |
rValue | a reference to the returned value |
returns the value of a specified variable
rThisVariable | the variable to be returned |
rValue | a reference to the returned value |
Reimplemented in Kratos::DamageDPlusDMinusMasonry2DLaw, Kratos::Constitutive3DLaw, Kratos::ParallelRuleOfMixturesLaw< TDim >, Kratos::ParallelRuleOfMixturesLaw< 2 >, and Kratos::ParallelRuleOfMixturesLaw< 3 >.
|
virtual |
Returns the value of a specified variable (boolean)
rThisVariable | the variable to be returned |
rValue | a reference to the returned value |
returns the value of a specified variable
rThisVariable | the variable to be returned |
rValue | a reference to the returned value |
rValue | output: the value of the specified variable |
Reimplemented in Kratos::LinearPlaneStress, Kratos::LinearPlaneStrain, Kratos::GeoLinearElasticPlaneStress2DLaw, Kratos::LinearPlaneStrainK0Law, Kratos::GeoLinearElasticPlaneStrain2DLaw, Kratos::LinearElastic3DInterfaceLaw, Kratos::LinearElastic2DInterfaceLaw, Kratos::LinearPlaneStressFEMDEM, Kratos::LinearPlaneStrainFEMDEM, Kratos::WrinklingLinear2DLaw, Kratos::LinearElasticOrthotropic2DLaw, Kratos::SerialParallelRuleOfMixturesLaw, Kratos::ParallelRuleOfMixturesLaw< TDim >, Kratos::ParallelRuleOfMixturesLaw< 2 >, and Kratos::ParallelRuleOfMixturesLaw< 3 >.
|
virtual |
Returns the value of a specified variable (double)
rThisVariable | the variable to be returned |
rValue | a reference to the returned value |
returns the value of a specified variable
rThisVariable | the variable to be returned |
rValue | a reference to the returned value |
rValue | output: the value of the specified variable |
Reimplemented in Kratos::LinearPlaneStrain, Kratos::LinearElasticPlastic3DLaw, Kratos::LinearElastic3DLaw, Kratos::HyperElasticPlasticThermalUPJohnsonCookPlaneStrain2DLaw, Kratos::HyperElasticPlasticThermalUPJohnsonCookAxisym2DLaw, Kratos::HyperElasticPlasticThermalUPJ2PlaneStrain2DLaw, Kratos::HyperElasticPlasticThermalUPJ2Axisym2DLaw, Kratos::HyperElasticPlasticThermalUPJ23DLaw, Kratos::HyperElasticPlasticThermalUPBakerJohnsonCookPlaneStrain2DLaw, Kratos::HyperElasticPlasticThermalJohnsonCookPlaneStrain2DLaw, Kratos::HyperElasticPlasticThermalJ2PlaneStrain2DLaw, Kratos::HyperElasticPlasticThermalBakerJohnsonCookPlaneStrain2DLaw, Kratos::HyperElasticPlastic3DLaw, Kratos::HyperElastic3DLaw, Kratos::NonlocalDamage3DLaw, Kratos::LocalDamage3DLaw, Kratos::LinearElasticPlastic3DLaw, Kratos::LinearElastic3DLaw, Kratos::IsotropicDamageCohesive3DLaw, Kratos::HyperElasticPlastic3DLaw, Kratos::HyperElastic3DLaw, Kratos::ExponentialCohesive3DLaw, Kratos::BilinearCohesive3DLaw, Kratos::NonLinearHenckyElasticPlastic3DLaw, Kratos::BorjaHenckyCamClayPlasticPlaneStrain2DLaw, Kratos::BorjaHenckyCamClayPlasticAxisym2DLaw, Kratos::BorjaHenckyCamClayPlastic3DLaw, Kratos::LinearElastic3DLaw, Kratos::JohnsonCookThermalPlastic3DLaw, Kratos::HyperElastic3DLaw, Kratos::HenckyElasticPlastic3DLaw, Kratos::DispNewtonianFluid3DLaw, Kratos::SmallStrainUMAT3DLaw, Kratos::SmallStrainUDSM3DLaw, Kratos::BilinearCohesive3DLaw, Kratos::LinearPlaneStrainFEMDEM, Kratos::StrainRate3DLaw, Kratos::LargeStrain3DLaw, Kratos::Constitutive3DLaw, Kratos::GenericSmallStrainViscoplasticity3D, Kratos::TrussPlasticityConstitutiveLaw, Kratos::SmallStrainJ2Plasticity3D, Kratos::PlasticityIsotropicKinematicJ2, Kratos::WrinklingLinear2DLaw, Kratos::DamageDPlusDMinusMasonry2DLaw, Kratos::DamageDPlusDMinusMasonry3DLaw, Kratos::GenericAnisotropic3DLaw, Kratos::SerialParallelRuleOfMixturesLaw, Kratos::ParallelRuleOfMixturesLaw< TDim >, Kratos::ParallelRuleOfMixturesLaw< 2 >, Kratos::ParallelRuleOfMixturesLaw< 3 >, and Kratos::PythonOutfittedConstitutiveLaw.
|
virtual |
Returns the value of a specified variable (integer)
rThisVariable | the variable to be returned |
rValue | a reference to the returned value |
returns the value of a specified variable
rThisVariable | the variable to be returned |
rValue | a reference to the returned value |
rValue | output: the value of the specified variable |
Reimplemented in Kratos::SmallStrainUMAT3DLaw, Kratos::SmallStrainUDSM3DLaw, Kratos::WrinklingLinear2DLaw, Kratos::SerialParallelRuleOfMixturesLaw, Kratos::ParallelRuleOfMixturesLaw< TDim >, Kratos::ParallelRuleOfMixturesLaw< 2 >, and Kratos::ParallelRuleOfMixturesLaw< 3 >.
|
virtual |
Returns the value of a specified variable (Matrix)
rThisVariable | the variable to be returned |
returns the value of a specified variable
rThisVariable | the variable to be returned |
Reimplemented in Kratos::LinearPlaneStrain, Kratos::HyperElasticPlastic3DLaw, Kratos::HyperElastic3DLaw, Kratos::HyperElasticPlastic3DLaw, Kratos::HyperElastic3DLaw, Kratos::NonLinearHenckyElasticPlasticUP3DLaw, Kratos::NonLinearHenckyElasticPlastic3DLaw, Kratos::HyperElastic3DLaw, Kratos::HenckyElasticPlastic3DLaw, Kratos::DispNewtonianFluid3DLaw, Kratos::LinearPlaneStrainFEMDEM, Kratos::LargeStrain3DLaw, Kratos::Constitutive3DLaw, Kratos::WrinklingLinear2DLaw, Kratos::DamageDPlusDMinusMasonry2DLaw, Kratos::DamageDPlusDMinusMasonry3DLaw, Kratos::GenericAnisotropic3DLaw, Kratos::SerialParallelRuleOfMixturesLaw, Kratos::ParallelRuleOfMixturesLaw< TDim >, Kratos::ParallelRuleOfMixturesLaw< 2 >, Kratos::ParallelRuleOfMixturesLaw< 3 >, and Kratos::PythonOutfittedConstitutiveLaw.
|
virtual |
Returns the value of a specified variable (Vector)
rThisVariable | the variable to be returned |
rValue | a reference to the returned value |
returns the value of a specified variable
rThisVariable | the variable to be returned |
rValue | a reference to the returned value |
Reimplemented in Kratos::LinearPlaneStrain, Kratos::HyperElasticPlastic3DLaw, Kratos::HyperElastic3DLaw, Kratos::HyperElasticPlastic3DLaw, Kratos::HyperElastic3DLaw, Kratos::ElastoPlasticMohrCoulombCohesive3DLaw, Kratos::ElastoPlasticModMohrCoulombCohesive3DLaw, Kratos::HyperElastic3DLaw, Kratos::HenckyElasticPlastic3DLaw, Kratos::DispNewtonianFluid3DLaw, Kratos::SmallStrainUMAT3DLaw, Kratos::SmallStrainUMAT3DInterfaceLaw, Kratos::SmallStrainUMAT2DPlaneStrainLaw, Kratos::SmallStrainUMAT2DInterfaceLaw, Kratos::SmallStrainUDSM3DLaw, Kratos::SmallStrainUDSM3DInterfaceLaw, Kratos::SmallStrainUDSM2DPlaneStrainLaw, Kratos::SmallStrainUDSM2DInterfaceLaw, Kratos::LinearPlaneStrainFEMDEM, Kratos::Constitutive3DLaw, Kratos::GenericSmallStrainViscoplasticity3D, Kratos::WrinklingLinear2DLaw, Kratos::SmallStrainIsotropicDamageImplex3D, Kratos::SmallStrainIsotropicDamage3D, Kratos::DamageDPlusDMinusMasonry2DLaw, Kratos::DamageDPlusDMinusMasonry3DLaw, Kratos::GenericAnisotropic3DLaw, Kratos::TractionSeparationLaw3D< TDim >, Kratos::TractionSeparationLaw3D< 3 >, Kratos::SerialParallelRuleOfMixturesLaw, Kratos::ParallelRuleOfMixturesLaw< TDim >, Kratos::ParallelRuleOfMixturesLaw< 2 >, Kratos::ParallelRuleOfMixturesLaw< 3 >, and Kratos::PythonOutfittedConstitutiveLaw.
|
virtual |
Returns whether this constitutive Law has specified variable (array of 3 components)
rThisVariable | the variable to be checked for |
returns whether this constitutive Law has specified variable
rThisVariable | the variable to be checked for |
Reimplemented in Kratos::Constitutive3DLaw, Kratos::WrinklingLinear2DLaw, Kratos::DamageDPlusDMinusMasonry2DLaw, Kratos::ParallelRuleOfMixturesLaw< TDim >, Kratos::ParallelRuleOfMixturesLaw< 2 >, and Kratos::ParallelRuleOfMixturesLaw< 3 >.
|
virtual |
Returns whether this constitutive Law has specified variable (array of 6 components)
rThisVariable | the variable to be checked for |
returns whether this constitutive Law has specified variable
rThisVariable | the variable to be checked for |
Reimplemented in Kratos::Constitutive3DLaw, Kratos::WrinklingLinear2DLaw, Kratos::DamageDPlusDMinusMasonry2DLaw, Kratos::ParallelRuleOfMixturesLaw< TDim >, Kratos::ParallelRuleOfMixturesLaw< 2 >, and Kratos::ParallelRuleOfMixturesLaw< 3 >.
Returns whether this constitutive Law has specified variable (boolean)
rThisVariable | the variable to be checked for |
returns whether this constitutive Law has specified variable
rThisVariable | the variable to be checked for |
Reimplemented in Kratos::WrinklingLinear2DLaw, Kratos::GenericAnisotropic3DLaw, Kratos::SerialParallelRuleOfMixturesLaw, Kratos::ParallelRuleOfMixturesLaw< TDim >, Kratos::ParallelRuleOfMixturesLaw< 2 >, and Kratos::ParallelRuleOfMixturesLaw< 3 >.
Returns whether this constitutive Law has specified variable (double)
rThisVariable | the variable to be checked for |
returns whether this constitutive Law has specified variable
rThisVariable | the variable to be checked for |
Reimplemented in Kratos::HyperElasticPlasticThermalUPJohnsonCookPlaneStrain2DLaw, Kratos::HyperElasticPlasticThermalUPJohnsonCookAxisym2DLaw, Kratos::HyperElasticPlasticThermalUPJ2PlaneStrain2DLaw, Kratos::HyperElasticPlasticThermalUPJ2Axisym2DLaw, Kratos::HyperElasticPlasticThermalUPJ23DLaw, Kratos::HyperElasticPlasticThermalUPBakerJohnsonCookPlaneStrain2DLaw, Kratos::HyperElasticPlasticThermalJohnsonCookPlaneStrain2DLaw, Kratos::HyperElasticPlasticThermalJ2PlaneStrain2DLaw, Kratos::HyperElasticPlasticThermalBakerJohnsonCookPlaneStrain2DLaw, Kratos::HyperElasticPlastic3DLaw, Kratos::HyperElastic3DLaw, Kratos::HyperElasticPlastic3DLaw, Kratos::HyperElastic3DLaw, Kratos::JohnsonCookThermalPlastic3DLaw, Kratos::HyperElastic3DLaw, Kratos::HenckyElasticPlastic3DLaw, Kratos::DispNewtonianFluid3DLaw, Kratos::StrainRate3DLaw, Kratos::LargeStrain3DLaw, Kratos::Constitutive3DLaw, Kratos::GenericSmallStrainViscoplasticity3D, Kratos::SmallStrainJ2Plasticity3D, Kratos::PlasticityIsotropicKinematicJ2, Kratos::WrinklingLinear2DLaw, Kratos::SmallStrainIsotropicDamageImplex3D, Kratos::SmallStrainIsotropicDamage3D, Kratos::DamageDPlusDMinusMasonry2DLaw, Kratos::DamageDPlusDMinusMasonry3DLaw, Kratos::GenericAnisotropic3DLaw, Kratos::SerialParallelRuleOfMixturesLaw, Kratos::ParallelRuleOfMixturesLaw< TDim >, Kratos::ParallelRuleOfMixturesLaw< 2 >, Kratos::ParallelRuleOfMixturesLaw< 3 >, and Kratos::PythonOutfittedConstitutiveLaw.
Returns whether this constitutive Law has specified variable (integer)
rThisVariable | the variable to be checked for |
returns whether this constitutive Law has specified variable
rThisVariable | the variable to be checked for |
Reimplemented in Kratos::WrinklingLinear2DLaw, Kratos::SerialParallelRuleOfMixturesLaw, Kratos::ParallelRuleOfMixturesLaw< TDim >, Kratos::ParallelRuleOfMixturesLaw< 2 >, and Kratos::ParallelRuleOfMixturesLaw< 3 >.
Returns whether this constitutive Law has specified variable (Matrix)
rThisVariable | the variable to be checked for |
returns whether this constitutive Law has specified variable
rThisVariable | the variable to be checked for |
Reimplemented in Kratos::HyperElasticPlastic3DLaw, Kratos::HyperElastic3DLaw, Kratos::HyperElasticPlastic3DLaw, Kratos::HyperElastic3DLaw, Kratos::HyperElastic3DLaw, Kratos::HenckyElasticPlastic3DLaw, Kratos::DispNewtonianFluid3DLaw, Kratos::Constitutive3DLaw, Kratos::WrinklingLinear2DLaw, Kratos::DamageDPlusDMinusMasonry2DLaw, Kratos::DamageDPlusDMinusMasonry3DLaw, Kratos::GenericAnisotropic3DLaw, Kratos::SerialParallelRuleOfMixturesLaw, Kratos::ParallelRuleOfMixturesLaw< TDim >, Kratos::ParallelRuleOfMixturesLaw< 2 >, Kratos::ParallelRuleOfMixturesLaw< 3 >, and Kratos::PythonOutfittedConstitutiveLaw.
Returns whether this constitutive Law has specified variable (Vector)
rThisVariable | the variable to be checked for |
returns whether this constitutive Law has specified variable
rThisVariable | the variable to be checked for |
Reimplemented in Kratos::HyperElasticPlastic3DLaw, Kratos::HyperElastic3DLaw, Kratos::HyperElasticPlastic3DLaw, Kratos::HyperElastic3DLaw, Kratos::HyperElastic3DLaw, Kratos::HenckyElasticPlastic3DLaw, Kratos::DispNewtonianFluid3DLaw, Kratos::Constitutive3DLaw, Kratos::WrinklingLinear2DLaw, Kratos::SmallStrainIsotropicDamageImplex3D, Kratos::SmallStrainIsotropicDamage3D, Kratos::DamageDPlusDMinusMasonry2DLaw, Kratos::DamageDPlusDMinusMasonry3DLaw, Kratos::GenericAnisotropic3DLaw, Kratos::TractionSeparationLaw3D< TDim >, Kratos::TractionSeparationLaw3D< 3 >, Kratos::SerialParallelRuleOfMixturesLaw, Kratos::ParallelRuleOfMixturesLaw< TDim >, Kratos::ParallelRuleOfMixturesLaw< 2 >, Kratos::ParallelRuleOfMixturesLaw< 3 >, and Kratos::PythonOutfittedConstitutiveLaw.
|
inline |
|
inlinestatic |
This method is used to check that two Constitutive Laws are the same type (references)
rLHS | The first argument |
rRHS | The second argument |
|
inlinestatic |
This method is used to check that two Constitutive Laws are the same type (pointers)
rLHS | The first argument |
rRHS | The second argument |
|
inlineoverridevirtual |
Turn back information as a string.
Reimplemented from Kratos::Flags.
Reimplemented in Kratos::ElasticIsotropic3D, Kratos::RansNewtonian3DLaw, Kratos::RansNewtonian2DLaw, Kratos::HypoelasticTemperatureDependent3DLaw, Kratos::HypoelasticTemperatureDependent2DLaw, Kratos::PfemSolidConstitutiveLaw, Kratos::Hypoelastic3DLaw, Kratos::Hypoelastic2DLaw, Kratos::NewtonianTemperatureDependent3DLaw, Kratos::NewtonianTemperatureDependent2DLaw, Kratos::MuIRheologyTemperatureDependent3DLaw, Kratos::MuIRheologyTemperatureDependent2DLaw, Kratos::FrictionalViscoplasticTemperatureDependent3DLaw, Kratos::FrictionalViscoplasticTemperatureDependent2DLaw, Kratos::BinghamTemperatureDependent3DLaw, Kratos::BinghamTemperatureDependent2DLaw, Kratos::Newtonian3DLaw, Kratos::Newtonian2DLaw, Kratos::MuIRheology3DLaw, Kratos::MuIRheology2DLaw, Kratos::HerschelBulkley3DLaw, Kratos::HerschelBulkley2DLaw, Kratos::FrictionalViscoplastic3DLaw, Kratos::FrictionalViscoplastic2DLaw, Kratos::PfemFluidConstitutiveLaw, Kratos::Bingham3DLaw, Kratos::Bingham2DLaw, Kratos::SmallStrainUMAT3DLaw, Kratos::SmallStrainUMAT3DInterfaceLaw, Kratos::SmallStrainUMAT2DPlaneStrainLaw, Kratos::SmallStrainUMAT2DInterfaceLaw, Kratos::SmallStrainUDSM3DLaw, Kratos::SmallStrainUDSM3DInterfaceLaw, Kratos::SmallStrainUDSM2DPlaneStrainLaw, Kratos::SmallStrainUDSM2DInterfaceLaw, Kratos::NewtonianTwoFluid3DLaw, Kratos::NewtonianTwoFluid2DLaw, Kratos::NewtonianTemperatureDependent3DLaw, Kratos::NewtonianTemperatureDependent2DLaw, Kratos::Newtonian3DLaw, Kratos::Newtonian2DLaw, Kratos::HerschelBulkley3DLaw, Kratos::FluidConstitutiveLaw, Kratos::Euler3DLaw, Kratos::Euler2DLaw, Kratos::Bingham3DLaw, Kratos::StrainRatePlaneStrain2DLaw, Kratos::StrainRate3DLaw, Kratos::NewtonianFluidPlaneStrain2DLaw, Kratos::NewtonianFluid3DLaw, Kratos::SmallStrainPlaneStress2DLaw, Kratos::SmallStrainPlaneStrain2DLaw, Kratos::SmallStrainOrthotropic3DLaw, Kratos::SmallStrainAxisymmetric2DLaw, Kratos::SmallStrain3DLaw, Kratos::LargeStrainPlaneStrain2DLaw, Kratos::LargeStrainAxisymmetric2DLaw, Kratos::LargeStrain3DLaw, and Kratos::Constitutive3DLaw.
|
virtual |
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 |
Reimplemented in Kratos::HenckyElasticPlastic3DLaw, Kratos::NonLinearHenckyElasticPlastic3DLaw, Kratos::StrainRate3DLaw, Kratos::NewtonianFluid3DLaw, Kratos::SmallStrain3DLaw, Kratos::LargeStrain3DLaw, Kratos::Constitutive3DLaw, Kratos::PythonOutfittedConstitutiveLaw, Kratos::HyperElasticPlastic3DLaw, Kratos::HyperElastic3DLaw, Kratos::NonlocalDamage3DLaw, Kratos::IsotropicDamageCohesive3DLaw, Kratos::HyperElasticPlastic3DLaw, Kratos::HyperElastic3DLaw, Kratos::ExponentialCohesive3DLaw, Kratos::ElastoPlasticMohrCoulombCohesive3DLaw, Kratos::ElastoPlasticMohrCoulombCohesive2DLaw, Kratos::ElastoPlasticModMohrCoulombCohesive3DLaw, Kratos::ElastoPlasticModMohrCoulombCohesive2DLaw, Kratos::BilinearCohesive3DLaw, Kratos::JohnsonCookThermalPlastic3DLaw, Kratos::HyperElastic3DLaw, Kratos::DispNewtonianFluid3DLaw, Kratos::SmallStrainUMAT3DLaw, Kratos::SmallStrainUDSM3DLaw, Kratos::BilinearCohesive3DLaw, Kratos::ThermalElasticIsotropic3D, Kratos::SmallStrainJ2Plasticity3D, Kratos::PlasticityIsotropicKinematicJ2, Kratos::WrinklingLinear2DLaw, Kratos::SmallStrainIsotropicDamageImplex3D, Kratos::SmallStrainIsotropicDamage3D, Kratos::DamageDPlusDMinusMasonry2DLaw, Kratos::DamageDPlusDMinusMasonry3DLaw, Kratos::GenericAnisotropic3DLaw, Kratos::SerialParallelRuleOfMixturesLaw, Kratos::ParallelRuleOfMixturesLaw< TDim >, Kratos::ParallelRuleOfMixturesLaw< 2 >, Kratos::ParallelRuleOfMixturesLaw< 3 >, Kratos::TractionSeparationLaw3D< TDim >, and Kratos::TractionSeparationLaw3D< 3 >.
void Kratos::ConstitutiveLaw::InitializeMaterialResponse | ( | Parameters & | rValues, |
const StressMeasure & | rStressMeasure | ||
) |
Initialize the material response, called by the element in InitializeSolutionStep.
|
virtual |
Initialize the material response in terms of Cauchy stresses.
Initialize the material response in terms of Cauchy stresses
Reimplemented in Kratos::UserProvidedLinearElasticLaw< TDim >, Kratos::UserProvidedLinearElasticLaw< 2 >, Kratos::UserProvidedLinearElasticLaw< 3 >, Kratos::Constitutive3DLaw, Kratos::ParallelRuleOfMixturesLaw< TDim >, Kratos::ParallelRuleOfMixturesLaw< 2 >, Kratos::ParallelRuleOfMixturesLaw< 3 >, Kratos::ElasticIsotropic3D, Kratos::SmallStrainUMAT3DLaw, Kratos::SmallStrainUDSM3DLaw, Kratos::GeoLinearElasticPlaneStrain2DLaw, Kratos::HyperElasticIsotropicNeoHookean3DFEMDEM, Kratos::ElasticIsotropic3DFEMDEM, Kratos::SmallStrainJ2Plasticity3D, Kratos::PlasticityIsotropicKinematicJ2, Kratos::HyperElasticIsotropicQuasiIncompressibleIshochoricNeoHookean3D, Kratos::HyperElasticIsotropicNeoHookean3D, Kratos::HyperElasticIsotropicKirchhoff3D, and Kratos::SerialParallelRuleOfMixturesLaw.
|
virtual |
Initialize the material response in terms of Kirchhoff stresses.
Initialize the material response in terms of Kirchhoff stresses
Reimplemented in Kratos::UserProvidedLinearElasticLaw< TDim >, Kratos::UserProvidedLinearElasticLaw< 2 >, Kratos::UserProvidedLinearElasticLaw< 3 >, Kratos::Constitutive3DLaw, Kratos::ParallelRuleOfMixturesLaw< TDim >, Kratos::ParallelRuleOfMixturesLaw< 2 >, Kratos::ParallelRuleOfMixturesLaw< 3 >, Kratos::ElasticIsotropic3D, Kratos::SmallStrainUMAT3DLaw, Kratos::SmallStrainUDSM3DLaw, Kratos::HyperElasticIsotropicNeoHookean3DFEMDEM, Kratos::ElasticIsotropic3DFEMDEM, Kratos::SmallStrainJ2Plasticity3D, Kratos::PlasticityIsotropicKinematicJ2, Kratos::HyperElasticIsotropicQuasiIncompressibleIshochoricNeoHookean3D, Kratos::HyperElasticIsotropicNeoHookean3D, Kratos::HyperElasticIsotropicKirchhoff3D, and Kratos::SerialParallelRuleOfMixturesLaw.
|
virtual |
Initialize the material response in terms of 1st Piola-Kirchhoff stresses.
Initialize the material response in terms of 1st Piola-Kirchhoff stresses
Reimplemented in Kratos::UserProvidedLinearElasticLaw< TDim >, Kratos::UserProvidedLinearElasticLaw< 2 >, Kratos::UserProvidedLinearElasticLaw< 3 >, Kratos::Constitutive3DLaw, Kratos::ParallelRuleOfMixturesLaw< TDim >, Kratos::ParallelRuleOfMixturesLaw< 2 >, Kratos::ParallelRuleOfMixturesLaw< 3 >, Kratos::ElasticIsotropic3D, Kratos::SmallStrainUMAT3DLaw, Kratos::SmallStrainUDSM3DLaw, Kratos::HyperElasticIsotropicNeoHookean3DFEMDEM, Kratos::ElasticIsotropic3DFEMDEM, Kratos::SmallStrainJ2Plasticity3D, Kratos::PlasticityIsotropicKinematicJ2, Kratos::HyperElasticIsotropicQuasiIncompressibleIshochoricNeoHookean3D, Kratos::HyperElasticIsotropicNeoHookean3D, Kratos::HyperElasticIsotropicKirchhoff3D, and Kratos::SerialParallelRuleOfMixturesLaw.
|
virtual |
Initialize the material response in terms of 2nd Piola-Kirchhoff stresses.
Initialize the material response in terms of 2nd Piola-Kirchhoff stresses
Reimplemented in Kratos::UserProvidedLinearElasticLaw< TDim >, Kratos::UserProvidedLinearElasticLaw< 2 >, Kratos::UserProvidedLinearElasticLaw< 3 >, Kratos::Constitutive3DLaw, Kratos::WrinklingLinear2DLaw, Kratos::GenericAnisotropic3DLaw, Kratos::ParallelRuleOfMixturesLaw< TDim >, Kratos::ParallelRuleOfMixturesLaw< 2 >, Kratos::ParallelRuleOfMixturesLaw< 3 >, Kratos::ElasticIsotropic3D, Kratos::SmallStrainUMAT3DLaw, Kratos::SmallStrainUDSM3DLaw, Kratos::HyperElasticIsotropicNeoHookean3DFEMDEM, Kratos::ElasticIsotropic3DFEMDEM, Kratos::SmallStrainJ2Plasticity3D, Kratos::PlasticityIsotropicKinematicJ2, Kratos::DamageDPlusDMinusMasonry2DLaw, Kratos::HyperElasticIsotropicQuasiIncompressibleIshochoricNeoHookean3D, Kratos::HyperElasticIsotropicNeoHookean3D, Kratos::HyperElasticIsotropicKirchhoff3D, and Kratos::SerialParallelRuleOfMixturesLaw.
|
virtual |
to be called at the beginning of each step iteration (e.g. from Element::InitializeNonLinearIteration)
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 |
the | current ProcessInfo instance |
|
virtual |
to be called at the beginning of each solution step (e.g. from Element::InitializeSolutionStep)
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 |
the | current ProcessInfo instance |
Reimplemented in Kratos::DamageDPlusDMinusMasonry2DLaw.
|
virtual |
returns whether this constitutive model is formulated in incremental strains/stresses NOTE: by default, all constitutive models should be formulated in total strains
Reimplemented in Kratos::GeoLinearElasticPlaneStrain2DLaw, Kratos::DamageDPlusDMinusMasonry2DLaw, Kratos::ParallelRuleOfMixturesLaw< TDim >, Kratos::ParallelRuleOfMixturesLaw< 2 >, and Kratos::ParallelRuleOfMixturesLaw< 3 >.
Kratos::ConstitutiveLaw::KRATOS_CLASS_POINTER_DEFINITION | ( | ConstitutiveLaw | ) |
Counted pointer of ConstitutiveLaw
Kratos::ConstitutiveLaw::KRATOS_DEFINE_LOCAL_FLAG | ( | ANISOTROPIC | ) |
Kratos::ConstitutiveLaw::KRATOS_DEFINE_LOCAL_FLAG | ( | AXISYMMETRIC_LAW | ) |
Kratos::ConstitutiveLaw::KRATOS_DEFINE_LOCAL_FLAG | ( | COMPUTE_CONSTITUTIVE_TENSOR | ) |
Kratos::ConstitutiveLaw::KRATOS_DEFINE_LOCAL_FLAG | ( | COMPUTE_STRAIN_ENERGY | ) |
Kratos::ConstitutiveLaw::KRATOS_DEFINE_LOCAL_FLAG | ( | COMPUTE_STRESS | ) |
Kratos::ConstitutiveLaw::KRATOS_DEFINE_LOCAL_FLAG | ( | FINALIZE_MATERIAL_RESPONSE | ) |
Kratos::ConstitutiveLaw::KRATOS_DEFINE_LOCAL_FLAG | ( | FINITE_STRAINS | ) |
Kratos::ConstitutiveLaw::KRATOS_DEFINE_LOCAL_FLAG | ( | INCREMENTAL_STRAIN_MEASURE | ) |
Kratos::ConstitutiveLaw::KRATOS_DEFINE_LOCAL_FLAG | ( | INFINITESIMAL_STRAINS | ) |
Kratos::ConstitutiveLaw::KRATOS_DEFINE_LOCAL_FLAG | ( | INITIALIZE_MATERIAL_RESPONSE | ) |
the next two flags are designed for internal use within the constitutive law. please DO NOT use them from the API
Kratos::ConstitutiveLaw::KRATOS_DEFINE_LOCAL_FLAG | ( | ISOCHORIC_TENSOR_ONLY | ) |
Kratos::ConstitutiveLaw::KRATOS_DEFINE_LOCAL_FLAG | ( | ISOTROPIC | ) |
Kratos::ConstitutiveLaw::KRATOS_DEFINE_LOCAL_FLAG | ( | MECHANICAL_RESPONSE_ONLY | ) |
Kratos::ConstitutiveLaw::KRATOS_DEFINE_LOCAL_FLAG | ( | PLANE_STRAIN_LAW | ) |
Kratos::ConstitutiveLaw::KRATOS_DEFINE_LOCAL_FLAG | ( | PLANE_STRESS_LAW | ) |
Kratos::ConstitutiveLaw::KRATOS_DEFINE_LOCAL_FLAG | ( | THERMAL_RESPONSE_ONLY | ) |
Kratos::ConstitutiveLaw::KRATOS_DEFINE_LOCAL_FLAG | ( | THREE_DIMENSIONAL_LAW | ) |
Kratos::ConstitutiveLaw::KRATOS_DEFINE_LOCAL_FLAG | ( | U_P_LAW | ) |
Kratos::ConstitutiveLaw::KRATOS_DEFINE_LOCAL_FLAG | ( | USE_ELEMENT_PROVIDED_STRAIN | ) |
Flags related to the Parameters of the Contitutive Law
Kratos::ConstitutiveLaw::KRATOS_DEFINE_LOCAL_FLAG | ( | VOLUMETRIC_TENSOR_ONLY | ) |
|
inline |
|
inlineoverridevirtual |
Print object's data.
Reimplemented from Kratos::Flags.
Reimplemented in Kratos::PfemSolidConstitutiveLaw, Kratos::PfemFluidConstitutiveLaw, Kratos::SmallStrainUMAT3DLaw, Kratos::SmallStrainUMAT3DInterfaceLaw, Kratos::SmallStrainUMAT2DPlaneStrainLaw, Kratos::SmallStrainUMAT2DInterfaceLaw, Kratos::SmallStrainUDSM3DLaw, Kratos::SmallStrainUDSM3DInterfaceLaw, Kratos::SmallStrainUDSM2DPlaneStrainLaw, Kratos::SmallStrainUDSM2DInterfaceLaw, Kratos::FluidConstitutiveLaw, Kratos::Euler3DLaw, Kratos::Euler2DLaw, Kratos::StrainRatePlaneStrain2DLaw, Kratos::StrainRate3DLaw, Kratos::NewtonianFluidPlaneStrain2DLaw, Kratos::NewtonianFluid3DLaw, Kratos::SmallStrainPlaneStress2DLaw, Kratos::SmallStrainPlaneStrain2DLaw, Kratos::SmallStrainOrthotropic3DLaw, Kratos::SmallStrainAxisymmetric2DLaw, Kratos::SmallStrain3DLaw, Kratos::LargeStrainPlaneStrain2DLaw, Kratos::LargeStrainAxisymmetric2DLaw, Kratos::LargeStrain3DLaw, Kratos::Constitutive3DLaw, Kratos::SmallStrainJ2PlasticityPlaneStrain2D, Kratos::SmallStrainJ2Plasticity3D, Kratos::PlasticityIsotropicKinematicJ2, Kratos::SmallStrainIsotropicDamagePlaneStrain2D, Kratos::SmallStrainIsotropicDamageImplex3D, and Kratos::SmallStrainIsotropicDamage3D.
|
inlineoverridevirtual |
Print information about this object.
Reimplemented from Kratos::Flags.
Reimplemented in Kratos::ElasticIsotropic3D, Kratos::PfemSolidConstitutiveLaw, Kratos::PfemFluidConstitutiveLaw, Kratos::SmallStrainUMAT3DLaw, Kratos::SmallStrainUMAT3DInterfaceLaw, Kratos::SmallStrainUMAT2DPlaneStrainLaw, Kratos::SmallStrainUMAT2DInterfaceLaw, Kratos::SmallStrainUDSM3DLaw, Kratos::SmallStrainUDSM3DInterfaceLaw, Kratos::SmallStrainUDSM2DPlaneStrainLaw, Kratos::SmallStrainUDSM2DInterfaceLaw, Kratos::FluidConstitutiveLaw, Kratos::Euler3DLaw, Kratos::Euler2DLaw, Kratos::StrainRatePlaneStrain2DLaw, Kratos::StrainRate3DLaw, Kratos::NewtonianFluidPlaneStrain2DLaw, Kratos::NewtonianFluid3DLaw, Kratos::SmallStrainPlaneStress2DLaw, Kratos::SmallStrainPlaneStrain2DLaw, Kratos::SmallStrainOrthotropic3DLaw, Kratos::SmallStrainAxisymmetric2DLaw, Kratos::SmallStrain3DLaw, Kratos::LargeStrainPlaneStrain2DLaw, Kratos::LargeStrainAxisymmetric2DLaw, Kratos::LargeStrain3DLaw, and Kratos::Constitutive3DLaw.
void Kratos::ConstitutiveLaw::PullBackConstitutiveMatrix | ( | Matrix & | rConstitutiveMatrix, |
const Matrix & | rF | ||
) |
Methods to transform Constitutive Matrices:
rConstitutiveMatrix | the constitutive matrix |
rF | the DeformationGradientF matrix between the configurations This method performs a pull-back of the constitutive matrix |
void Kratos::ConstitutiveLaw::PushForwardConstitutiveMatrix | ( | Matrix & | rConstitutiveMatrix, |
const Matrix & | rF | ||
) |
This method performs a push-forward of the constitutive matrix
|
inlinevirtual |
If the CL requires to finalize the material response, called by the element in FinalizeSolutionStep.
Reimplemented in Kratos::ElasticIsotropic3D, Kratos::GeoLinearElasticPlaneStrain2DLaw, Kratos::GeoLinearElasticLaw, Kratos::ViscousGeneralizedMaxwell< Kratos::ElasticIsotropic3D >, Kratos::ViscousGeneralizedKelvin< Kratos::ElasticIsotropic3D >, Kratos::GenericSmallStrainViscoplasticity3D, Kratos::SmallStrainIsotropicDamageImplex3D, Kratos::SmallStrainIsotropicDamage3D, Kratos::GenericAnisotropic3DLaw, Kratos::HyperElasticIsotropicQuasiIncompressibleIshochoricNeoHookean3D, Kratos::HyperElasticIsotropicNeoHookean3D, Kratos::HyperElasticIsotropicKirchhoff3D, Kratos::SerialParallelRuleOfMixturesLaw, Kratos::ParallelRuleOfMixturesLaw< TDim >, Kratos::ParallelRuleOfMixturesLaw< 2 >, and Kratos::ParallelRuleOfMixturesLaw< 3 >.
|
inlinevirtual |
If the CL requires to initialize the material response, called by the element in InitializeSolutionStep.
Reimplemented in Kratos::ElasticIsotropic3D, Kratos::GeoLinearElasticPlaneStrain2DLaw, Kratos::GeoLinearElasticLaw, Kratos::ViscousGeneralizedMaxwell< Kratos::ElasticIsotropic3D >, Kratos::ViscousGeneralizedKelvin< Kratos::ElasticIsotropic3D >, Kratos::GenericSmallStrainViscoplasticity3D, Kratos::TrussPlasticityConstitutiveLaw, Kratos::SmallStrainIsotropicDamageImplex3D, Kratos::SmallStrainIsotropicDamage3D, Kratos::GenericAnisotropic3DLaw, Kratos::HyperElasticIsotropicQuasiIncompressibleIshochoricNeoHookean3D, Kratos::HyperElasticIsotropicNeoHookean3D, Kratos::HyperElasticIsotropicKirchhoff3D, Kratos::SerialParallelRuleOfMixturesLaw, Kratos::ParallelRuleOfMixturesLaw< TDim >, Kratos::ParallelRuleOfMixturesLaw< 2 >, and Kratos::ParallelRuleOfMixturesLaw< 3 >.
|
virtual |
This can be used in order to reset all internal variables of the constitutive law (e.g. if a model should be reset to its reference state)
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 |
the | current ProcessInfo instance |
Reimplemented in Kratos::SmallStrainUMAT3DLaw, Kratos::SmallStrainUDSM3DLaw, Kratos::WrinklingLinear2DLaw, Kratos::DamageDPlusDMinusMasonry2DLaw, Kratos::ParallelRuleOfMixturesLaw< TDim >, Kratos::ParallelRuleOfMixturesLaw< 2 >, and Kratos::ParallelRuleOfMixturesLaw< 3 >.
|
inline |
|
virtual |
Sets the value of a specified variable (array of 3 components)
rVariable | the variable to be returned |
rValue | new value of the specified variable |
rCurrentProcessInfo | the process info |
Reimplemented in Kratos::DamageDPlusDMinusMasonry2DLaw, Kratos::Constitutive3DLaw, Kratos::ParallelRuleOfMixturesLaw< TDim >, Kratos::ParallelRuleOfMixturesLaw< 2 >, and Kratos::ParallelRuleOfMixturesLaw< 3 >.
|
virtual |
Sets the value of a specified variable (array of 6 components)
rVariable | the variable to be returned |
rValue | new value of the specified variable |
rCurrentProcessInfo | the process info |
Reimplemented in Kratos::DamageDPlusDMinusMasonry2DLaw, Kratos::Constitutive3DLaw, Kratos::ParallelRuleOfMixturesLaw< TDim >, Kratos::ParallelRuleOfMixturesLaw< 2 >, and Kratos::ParallelRuleOfMixturesLaw< 3 >.
|
virtual |
Sets the value of a specified variable (boolean)
Sets the value of a specified variable (bool)
rVariable | the variable to be returned |
Value | new value of the specified variable |
rCurrentProcessInfo | the process info |
rThisVariable | the variable to be returned |
Value | new value of the specified variable |
rCurrentProcessInfo | the process info |
Reimplemented in Kratos::WrinklingLinear2DLaw, Kratos::SerialParallelRuleOfMixturesLaw, Kratos::ParallelRuleOfMixturesLaw< TDim >, Kratos::ParallelRuleOfMixturesLaw< 2 >, and Kratos::ParallelRuleOfMixturesLaw< 3 >.
|
virtual |
Sets the value of a specified variable (double)
rVariable | the variable to be returned |
rValue | new value of the specified variable |
rCurrentProcessInfo | the process info |
Reimplemented in Kratos::HyperElasticPlastic3DLaw, Kratos::HyperElastic3DLaw, Kratos::NonlocalDamage3DLaw, Kratos::LocalDamage3DLaw, Kratos::HyperElasticPlastic3DLaw, Kratos::HyperElastic3DLaw, Kratos::BilinearCohesive3DLaw, Kratos::JohnsonCookThermalPlastic3DLaw, Kratos::HyperElastic3DLaw, Kratos::HenckyElasticPlastic3DLaw, Kratos::DispNewtonianFluid3DLaw, Kratos::SmallStrainUMAT3DLaw, Kratos::SmallStrainUDSM3DLaw, Kratos::BilinearCohesive3DLaw, Kratos::StrainRate3DLaw, Kratos::LargeStrain3DLaw, Kratos::Constitutive3DLaw, Kratos::DamageDPlusDMinusMasonry2DLaw, Kratos::PythonOutfittedConstitutiveLaw, Kratos::NonLinearHenckyElasticPlastic3DLaw, Kratos::BorjaHenckyCamClayPlasticPlaneStrain2DLaw, Kratos::BorjaHenckyCamClayPlastic3DLaw, Kratos::TrussPlasticityConstitutiveLaw, Kratos::SmallStrainJ2Plasticity3D, Kratos::PlasticityIsotropicKinematicJ2, Kratos::WrinklingLinear2DLaw, Kratos::DamageDPlusDMinusMasonry3DLaw, Kratos::SerialParallelRuleOfMixturesLaw, Kratos::ParallelRuleOfMixturesLaw< TDim >, Kratos::ParallelRuleOfMixturesLaw< 2 >, Kratos::ParallelRuleOfMixturesLaw< 3 >, and Kratos::GeoLinearElasticLaw.
|
virtual |
Sets the value of a specified variable (integer)
Sets the value of a specified variable (int)
rVariable | the variable to be returned |
Value | new value of the specified variable |
rCurrentProcessInfo | the process info |
rThisVariable | the variable to be returned |
Value | new value of the specified variable |
rCurrentProcessInfo | the process info |
Reimplemented in Kratos::WrinklingLinear2DLaw, Kratos::SerialParallelRuleOfMixturesLaw, Kratos::ParallelRuleOfMixturesLaw< TDim >, Kratos::ParallelRuleOfMixturesLaw< 2 >, and Kratos::ParallelRuleOfMixturesLaw< 3 >.
|
virtual |
Sets the value of a specified variable (Matrix)
rVariable | the variable to be returned |
rValue | new value of the specified variable |
rCurrentProcessInfo | the process info |
Reimplemented in Kratos::DispNewtonianFluid3DLaw, Kratos::StrainRate3DLaw, Kratos::LargeStrain3DLaw, Kratos::DamageDPlusDMinusMasonry2DLaw, Kratos::HyperElasticPlastic3DLaw, Kratos::HyperElastic3DLaw, Kratos::HyperElasticPlastic3DLaw, Kratos::HyperElastic3DLaw, Kratos::HyperElastic3DLaw, Kratos::HenckyElasticPlastic3DLaw, Kratos::Constitutive3DLaw, Kratos::WrinklingLinear2DLaw, Kratos::ParallelRuleOfMixturesLaw< TDim >, Kratos::ParallelRuleOfMixturesLaw< 2 >, Kratos::ParallelRuleOfMixturesLaw< 3 >, and Kratos::PythonOutfittedConstitutiveLaw.
|
virtual |
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 |
Reimplemented in Kratos::DispNewtonianFluid3DLaw, Kratos::SmallStrainUMAT3DLaw, Kratos::SmallStrainUMAT3DInterfaceLaw, Kratos::SmallStrainUMAT2DPlaneStrainLaw, Kratos::SmallStrainUMAT2DInterfaceLaw, Kratos::SmallStrainUDSM3DLaw, Kratos::SmallStrainUDSM3DInterfaceLaw, Kratos::SmallStrainUDSM2DPlaneStrainLaw, Kratos::SmallStrainUDSM2DInterfaceLaw, Kratos::StrainRate3DLaw, Kratos::LargeStrain3DLaw, Kratos::DamageDPlusDMinusMasonry2DLaw, Kratos::BorjaHenckyCamClayPlasticPlaneStrain2DLaw, Kratos::BorjaHenckyCamClayPlastic3DLaw, Kratos::BorjaHenckyCamClayPlasticAxisym2DLaw, Kratos::SmallStrainIsotropicDamageImplex3D, Kratos::SmallStrainIsotropicDamage3D, Kratos::HyperElasticPlastic3DLaw, Kratos::HyperElastic3DLaw, Kratos::IsotropicDamageCohesive3DLaw, Kratos::HyperElasticPlastic3DLaw, Kratos::HyperElastic3DLaw, Kratos::ElastoPlasticMohrCoulombCohesive3DLaw, Kratos::ElastoPlasticModMohrCoulombCohesive3DLaw, Kratos::NonLinearHenckyElasticPlasticUP3DLaw, Kratos::NonLinearHenckyElasticPlastic3DLaw, Kratos::HyperElastic3DLaw, Kratos::HenckyElasticPlastic3DLaw, Kratos::SmallStrain3DLaw, Kratos::Constitutive3DLaw, Kratos::WrinklingLinear2DLaw, Kratos::DamageDPlusDMinusMasonry3DLaw, Kratos::ParallelRuleOfMixturesLaw< TDim >, Kratos::ParallelRuleOfMixturesLaw< 2 >, Kratos::ParallelRuleOfMixturesLaw< 3 >, Kratos::PythonOutfittedConstitutiveLaw, and Kratos::GeoLinearElasticLaw.
Vector & Kratos::ConstitutiveLaw::TransformCauchyStresses | ( | Vector & | rStressVector, |
const Matrix & | rF, | ||
const double & | rdetF, | ||
StressMeasure | rStressFinal | ||
) |
Methods to transform stress Vectors specialized with the initial stress Measure Cauchy:
rStressVector | the stress tensor in matrix which its stress measure will be changed |
rF | the DeformationGradientF matrix between the configurations |
rdetF | the determinant of the DeformationGradientF matrix between the configurations |
rStressFinal | the measure of stress of the returned rStressVector |
|
protected |
This method performs a pull-back or a push-forward between two constitutive tensor components
Vector & Kratos::ConstitutiveLaw::TransformKirchhoffStresses | ( | Vector & | rStressVector, |
const Matrix & | rF, | ||
const double & | rdetF, | ||
StressMeasure | rStressFinal | ||
) |
Methods to transform stress Vectors specialized with the initial stress Measure Kirchhoff:
rStressVector | the stress tensor in matrix which its stress measure will be changed |
rF | the DeformationGradientF matrix between the configurations |
rdetF | the determinant of the DeformationGradientF matrix between the configurations |
rStressFinal | the measure of stress of the returned rStressVector |
Methods to transform stress Vectors specialized with the initial stress Measure Kirchooff:
rStressVector | the stress tensor in matrix which its stress measure will be changed |
rF | the DeformationGradientF matrix between the configurations |
rdetF | the determinant of the DeformationGradientF matrix between the configurations |
rStressFinal | the measure of stress of the returned rStressVector |
Vector & Kratos::ConstitutiveLaw::TransformPK1Stresses | ( | Vector & | rStressVector, |
const Matrix & | rF, | ||
const double & | rdetF, | ||
StressMeasure | rStressFinal | ||
) |
Methods to transform stress Vectors specialized with the initial stress Measure PK1:
rStressVector | the stress tensor in matrix which its stress measure will be changed |
rF | the DeformationGradientF matrix between the configurations |
rdetF | the determinant of the DeformationGradientF matrix between the configurations |
rStressFinal | the measure of stress of the returned rStressVector |
Vector & Kratos::ConstitutiveLaw::TransformPK2Stresses | ( | Vector & | rStressVector, |
const Matrix & | rF, | ||
const double & | rdetF, | ||
StressMeasure | rStressFinal | ||
) |
Methods to transform stress Vectors specialized with the initial stress Measure PK2:
rStressVector | the stress tensor in matrix which its stress measure will be changed |
rF | the DeformationGradientF matrix between the configurations |
rdetF | the determinant of the DeformationGradientF matrix between the configurations |
rStressFinal | the measure of stress of the returned rStressVector |
|
virtual |
Methods to transform strain Vectors:
rStrainVector | the strain tensor in matrix which its stress measure will be changed |
rF | the DeformationGradientF matrix between the configurations |
rdetF | the determinant of the DeformationGradientF matrix between the configurations |
rStrainInitial | the measure of stress of the given rStrainVector |
rStrainFinal | the measure of stress of the returned rStrainVector |
|
virtual |
Methods to transform stress Matrices:
rStressMatrix | the stress tensor in matrix which its stress measure will be changed |
rF | the DeformationGradientF matrix between the configurations |
rdetF | the determinant of the DeformationGradientF matrix between the configurations |
rStressInitial | the measure of stress of the given rStressMatrix |
rStressFinal | the measure of stress of the returned rStressMatrix |
|
virtual |
Methods to transform stress Vectors:
rStressVector | the stress tensor in matrix which its stress measure will be changed |
rF | the DeformationGradientF matrix between the configurations |
rdetF | the determinant of the DeformationGradientF matrix between the configurations |
rStressInitial | the measure of stress of the given rStressVector |
rStressFinal | the measure of stress of the returned rStressVector |
|
virtual |
Is called to check whether the provided material parameters in the Properties match the requirements of current constitutive model.
rMaterialProperties | the current Properties to be validated against. |
Is called to check whether the provided material parameters in the Properties match the requirements of current constitutive model.
rMaterialProperties | the current Properties to be validated against. |
Reimplemented in Kratos::DamageDPlusDMinusMasonry2DLaw, Kratos::TractionSeparationLaw3D< TDim >, Kratos::TractionSeparationLaw3D< 3 >, Kratos::ParallelRuleOfMixturesLaw< TDim >, Kratos::ParallelRuleOfMixturesLaw< 2 >, and Kratos::ParallelRuleOfMixturesLaw< 3 >.
|
virtual |
Reimplemented in Kratos::UserProvidedLinearElasticLaw< TDim >, Kratos::UserProvidedLinearElasticLaw< 2 >, Kratos::UserProvidedLinearElasticLaw< 3 >, Kratos::LinearPlaneStress, Kratos::LinearPlaneStrain, Kratos::ElasticIsotropic3D, Kratos::LinearElasticPlasticPlaneStrain2DLaw, Kratos::LinearElasticPlaneStrain2DLaw, Kratos::LinearElasticAxisym2DLaw, Kratos::HyperElasticUPPlaneStrain2DLaw, Kratos::HyperElasticUPAxisym2DLaw, Kratos::HyperElasticPlasticUPPlaneStrain2DLaw, Kratos::HyperElasticPlasticUPAxisym2DLaw, Kratos::HyperElasticPlasticPlaneStrain2DLaw, Kratos::HyperElasticPlasticAxisym2DLaw, Kratos::HyperElasticPlastic3DLaw, Kratos::HyperElasticPlaneStrain2DLaw, Kratos::HyperElasticAxisym2DLaw, Kratos::HyperElastic3DLaw, Kratos::NonlocalDamagePlaneStrain2DLaw, Kratos::LocalDamagePlaneStrain2DLaw, Kratos::LinearElasticPlaneStrain2DLaw, Kratos::HyperElasticPlastic3DLaw, Kratos::HyperElastic3DLaw, Kratos::HistoryLinearElasticPlaneStrain2DLaw, Kratos::NonLinearHenckyElasticPlasticUPPlaneStrain2DLaw, Kratos::NonLinearHenckyElasticPlasticUPAxisym2DLaw, Kratos::NonLinearHenckyElasticPlasticUP3DLaw, Kratos::NonLinearHenckyElasticPlasticPlaneStrain2DLaw, Kratos::NonLinearHenckyElasticPlasticAxisym2DLaw, Kratos::NonLinearHenckyElasticPlastic3DLaw, Kratos::PfemSolidConstitutiveLaw, Kratos::Hypoelastic3DLaw, Kratos::Hypoelastic2DLaw, Kratos::Newtonian3DLaw, Kratos::Newtonian2DLaw, Kratos::MuIRheology3DLaw, Kratos::MuIRheology2DLaw, Kratos::HerschelBulkley3DLaw, Kratos::HerschelBulkley2DLaw, Kratos::FrictionalViscoplastic3DLaw, Kratos::FrictionalViscoplastic2DLaw, Kratos::PfemFluidConstitutiveLaw, Kratos::Bingham3DLaw, Kratos::Bingham2DLaw, Kratos::LinearElasticPlaneStrain2DLaw, Kratos::LinearElasticAxisym2DLaw, Kratos::JohnsonCookThermalPlastic2DPlaneStrainLaw, Kratos::HyperElasticPlaneStrainUP2DLaw, Kratos::HyperElasticPlaneStrain2DLaw, Kratos::HyperElasticAxisym2DLaw, Kratos::HyperElastic3DLaw, Kratos::HenckyElasticPlasticUP3DLaw, Kratos::HenckyElasticPlasticPlaneStrainUP2DLaw, Kratos::HenckyElasticPlasticPlaneStrain2DLaw, Kratos::HenckyElasticPlasticAxisym2DLaw, Kratos::HenckyElasticPlastic3DLaw, Kratos::DispNewtonianFluidPlaneStrain2DLaw, Kratos::DispNewtonianFluid3DLaw, Kratos::HelmholtzJacobianStiffened3D, Kratos::GeoThermalDispersionLaw, Kratos::SmallStrainUMAT3DLaw, Kratos::SmallStrainUMAT3DInterfaceLaw, Kratos::SmallStrainUMAT2DPlaneStrainLaw, Kratos::SmallStrainUMAT2DInterfaceLaw, Kratos::SmallStrainUDSM3DLaw, Kratos::SmallStrainUDSM3DInterfaceLaw, Kratos::SmallStrainUDSM2DPlaneStrainLaw, Kratos::SmallStrainUDSM2DInterfaceLaw, Kratos::GeoLinearElasticPlaneStress2DLaw, Kratos::LinearPlaneStrainK0Law, Kratos::GeoLinearElasticPlaneStrain2DLaw, Kratos::LinearElastic3DInterfaceLaw, Kratos::LinearElastic2DInterfaceLaw, Kratos::LinearElastic2DBeamLaw, Kratos::ElasticIsotropicK03DLaw, Kratos::BilinearCohesive3DLaw, Kratos::BilinearCohesive2DLaw, Kratos::Newtonian3DLaw, Kratos::Newtonian2DLaw, Kratos::HerschelBulkley3DLaw, Kratos::FluidConstitutiveLaw, Kratos::Euler3DLaw, Kratos::Euler2DLaw, Kratos::Bingham3DLaw, Kratos::LinearPlaneStressFEMDEM, Kratos::LinearPlaneStrainFEMDEM, Kratos::HyperElasticIsotropicNeoHookeanPlaneStrain2DFEMDEM, Kratos::HyperElasticIsotropicNeoHookean3DFEMDEM, Kratos::ElasticIsotropic3DFEMDEM, Kratos::ThermalNonlocalDamagePlaneStrain2DLaw, Kratos::ThermalLocalDamagePlaneStrain2DLaw, Kratos::ThermalLinearElastic2DPlaneStrainNodal, Kratos::ThermalLinearElastic2DPlaneStrain, Kratos::LinearElastic2DPlaneStrainNodal, Kratos::StrainRatePlaneStrain2DLaw, Kratos::NewtonianFluidPlaneStrain2DLaw, Kratos::NewtonianFluid3DLaw, Kratos::SmallStrainPlaneStress2DLaw, Kratos::SmallStrainPlaneStrain2DLaw, Kratos::SmallStrainOrthotropic3DLaw, Kratos::SmallStrainAxisymmetric2DLaw, Kratos::LargeStrainPlaneStrain2DLaw, Kratos::LargeStrainAxisymmetric2DLaw, Kratos::Constitutive3DLaw, Kratos::ThermalLinearPlaneStrain, Kratos::GenericSmallStrainViscoplasticity3D, Kratos::SmallStrainJ2PlasticityPlaneStrain2D, Kratos::SmallStrainJ2Plasticity3D, Kratos::PlasticityIsotropicKinematicJ2, Kratos::WrinklingLinear2DLaw, Kratos::SmallStrainIsotropicDamagePlaneStrain2D, Kratos::DamageDPlusDMinusMasonry2DLaw, Kratos::DamageDPlusDMinusMasonry3DLaw, Kratos::GenericAnisotropic3DLaw, Kratos::HyperElasticSimoTaylorNeoHookeanPlaneStrain2D, Kratos::HyperElasticSimoTaylorNeoHookean3D, Kratos::HyperElasticIsotropicQuasiIncompressibleIshochoricNeoHookean3D, Kratos::HyperElasticIsotropicNeoHookeanPlaneStrain2D, Kratos::HyperElasticIsotropicNeoHookean3D, Kratos::HyperElasticIsotropicKirchhoffPlaneStress2D, Kratos::HyperElasticIsotropicKirchhoffPlaneStrain2D, Kratos::HyperElasticIsotropicKirchhoff3D, Kratos::SerialParallelRuleOfMixturesLaw, Kratos::ParallelRuleOfMixturesLaw< TDim >, Kratos::ParallelRuleOfMixturesLaw< 2 >, Kratos::ParallelRuleOfMixturesLaw< 3 >, and Kratos::PythonOutfittedConstitutiveLaw.
|
friend |
|
staticprotected |
|
staticprotected |
|
staticprotected |