KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
|
This law defines a parallel rule of mixture (classic law of mixture) More...
#include <rule_of_mixtures_law.h>
Public Member Functions | |
Lyfe Cycle | |
ParallelRuleOfMixturesLaw () | |
Default constructor. More... | |
ParallelRuleOfMixturesLaw (const std::vector< double > &rCombinationFactors) | |
Constructor with values. More... | |
ParallelRuleOfMixturesLaw (const ParallelRuleOfMixturesLaw &rOther) | |
Copy constructor. More... | |
~ParallelRuleOfMixturesLaw () override | |
Destructor. More... | |
Operations | |
ConstitutiveLaw::Pointer | Clone () const override |
Clone operation. More... | |
ConstitutiveLaw::Pointer | Create (Kratos::Parameters NewParameters) const override |
Creates a new constitutive law pointer. More... | |
SizeType | WorkingSpaceDimension () override |
Dimension of the law. More... | |
SizeType | GetStrainSize () const override |
Voigt tensor size. More... | |
bool | RequiresInitializeMaterialResponse () override |
If the CL requires to initialize the material response, called by the element in InitializeSolutionStep. More... | |
bool | RequiresFinalizeMaterialResponse () override |
If the CL requires to initialize the material response, called by the element in InitializeSolutionStep. More... | |
bool | Has (const Variable< bool > &rThisVariable) override |
Returns whether this constitutive Law has specified variable (boolean) More... | |
bool | Has (const Variable< int > &rThisVariable) override |
Returns whether this constitutive Law has specified variable (integer) More... | |
bool | Has (const Variable< double > &rThisVariable) override |
Returns whether this constitutive Law has specified variable (double) More... | |
bool | Has (const Variable< Vector > &rThisVariable) override |
Returns whether this constitutive Law has specified variable (Vector) More... | |
bool | Has (const Variable< Matrix > &rThisVariable) override |
Returns whether this constitutive Law has specified variable (Matrix) More... | |
bool | Has (const Variable< array_1d< double, 3 > > &rThisVariable) override |
Returns whether this constitutive Law has specified variable (array of 3 components) More... | |
bool | Has (const Variable< array_1d< double, 6 > > &rThisVariable) override |
Returns whether this constitutive Law has specified variable (array of 6 components) More... | |
bool & | GetValue (const Variable< bool > &rThisVariable, bool &rValue) override |
Returns the value of a specified variable (boolean) More... | |
int & | GetValue (const Variable< int > &rThisVariable, int &rValue) override |
double & | GetValue (const Variable< double > &rThisVariable, double &rValue) override |
Returns the value of a specified variable (double) More... | |
Vector & | GetValue (const Variable< Vector > &rThisVariable, Vector &rValue) override |
Returns the value of a specified variable (Vector) More... | |
Matrix & | GetValue (const Variable< Matrix > &rThisVariable, Matrix &rValue) override |
Returns the value of a specified variable (Matrix) More... | |
array_1d< double, 3 > & | GetValue (const Variable< array_1d< double, 3 > > &rThisVariable, array_1d< double, 3 > &rValue) override |
Returns the value of a specified variable (array of 3 components) More... | |
array_1d< double, 6 > & | GetValue (const Variable< array_1d< double, 6 > > &rThisVariable, array_1d< double, 6 > &rValue) override |
Returns the value of a specified variable (array of 6 components) More... | |
void | SetValue (const Variable< bool > &rThisVariable, const bool &rValue, const ProcessInfo &rCurrentProcessInfo) override |
Sets the value of a specified variable (boolean) More... | |
void | SetValue (const Variable< int > &rThisVariable, const int &rValue, const ProcessInfo &rCurrentProcessInfo) override |
Sets the value of a specified variable (integer) More... | |
void | SetValue (const Variable< double > &rThisVariable, const double &rValue, const ProcessInfo &rCurrentProcessInfo) override |
Sets the value of a specified variable (double) More... | |
void | SetValue (const Variable< Vector > &rThisVariable, const Vector &rValue, const ProcessInfo &rCurrentProcessInfo) override |
Sets the value of a specified variable (Vector) More... | |
void | SetValue (const Variable< Matrix > &rThisVariable, const Matrix &rValue, const ProcessInfo &rCurrentProcessInfo) override |
Sets the value of a specified variable (Matrix) More... | |
void | SetValue (const Variable< array_1d< double, 3 > > &rThisVariable, const array_1d< double, 3 > &rValue, const ProcessInfo &rCurrentProcessInfo) override |
Sets the value of a specified variable (array of 3 components) More... | |
void | SetValue (const Variable< array_1d< double, 6 > > &rThisVariable, const array_1d< double, 6 > &rValue, const ProcessInfo &rCurrentProcessInfo) override |
Sets the value of a specified variable (array of 6 components) More... | |
double & | CalculateValue (Parameters &rParameterValues, const Variable< double > &rThisVariable, double &rValue) override |
Calculates the value of a specified variable (double) More... | |
Vector & | CalculateValue (Parameters &rParameterValues, const Variable< Vector > &rThisVariable, Vector &rValue) override |
Calculates the value of a specified variable (Vector) More... | |
Matrix & | CalculateValue (Parameters &rParameterValues, const Variable< Matrix > &rThisVariable, Matrix &rValue) override |
Calculates the value of a specified variable (Matrix) More... | |
array_1d< double, 3 > & | CalculateValue (Parameters &rParameterValues, const Variable< array_1d< double, 3 > > &rVariable, array_1d< double, 3 > &rValue) override |
Calculates the value of a specified variable (array of 3 components) More... | |
array_1d< double, 6 > & | CalculateValue (Parameters &rParameterValues, const Variable< array_1d< double, 6 > > &rVariable, array_1d< double, 6 > &rValue) override |
Returns the value of a specified variable (array of 6 components) More... | |
bool | ValidateInput (const Properties &rMaterialProperties) override |
Is called to check whether the provided material parameters in the Properties match the requirements of current constitutive model. More... | |
StrainMeasure | GetStrainMeasure () override |
Returns the expected strain measure of this constitutive law (by default linear strains) More... | |
StressMeasure | GetStressMeasure () override |
Returns the stress measure of this constitutive law (by default 1st Piola-Kirchhoff stress in voigt notation) More... | |
bool | IsIncremental () override |
Returns whether this constitutive model is formulated in incremental strains/stresses. More... | |
void | InitializeMaterial (const Properties &rMaterialProperties, const GeometryType &rElementGeometry, const Vector &rShapeFunctionsValues) override |
This is to be called at the very beginning of the calculation. More... | |
std::vector< ConstitutiveLaw::Pointer > & | GetConstitutiveLaws () |
std::vector< double > & | GetCombinationFactors () |
void | SetCombinationFactors (const std::vector< double > &rVector) |
void | CalculateMaterialResponsePK1 (Parameters &rValues) override |
Computes the material response in terms of 1st Piola-Kirchhoff stresses and constitutive tensor. More... | |
void | CalculateMaterialResponsePK2 (Parameters &rValues) override |
Computes the material response in terms of 2nd Piola-Kirchhoff stresses and constitutive tensor. More... | |
void | CalculateMaterialResponseKirchhoff (Parameters &rValues) override |
Computes the material response in terms of Kirchhoff stresses and constitutive tensor. More... | |
void | CalculateMaterialResponseCauchy (Parameters &rValues) override |
Computes the material response in terms of Cauchy stresses and constitutive tensor. More... | |
void | InitializeMaterialResponsePK1 (Parameters &rValues) override |
Initialize the material response in terms of 1st Piola-Kirchhoff stresses. More... | |
void | InitializeMaterialResponsePK2 (Parameters &rValues) override |
Initialize the material response in terms of 2nd Piola-Kirchhoff stresses. More... | |
void | InitializeMaterialResponseKirchhoff (Parameters &rValues) override |
Initialize the material response in terms of Kirchhoff stresses. More... | |
void | InitializeMaterialResponseCauchy (Parameters &rValues) override |
Initialize the material response in terms of Cauchy stresses. More... | |
void | FinalizeMaterialResponsePK1 (Parameters &rValues) override |
Finalize the material response in terms of 1st Piola-Kirchhoff stresses. More... | |
void | FinalizeMaterialResponsePK2 (Parameters &rValues) override |
Finalize the material response in terms of 2nd Piola-Kirchhoff stresses. More... | |
void | FinalizeMaterialResponseKirchhoff (Parameters &rValues) override |
Finalize the material response in terms of Kirchhoff stresses. More... | |
void | FinalizeMaterialResponseCauchy (Parameters &rValues) override |
Finalize the material response in terms of Cauchy stresses. More... | |
void | ResetMaterial (const Properties &rMaterialProperties, const GeometryType &rElementGeometry, const Vector &rShapeFunctionsValues) override |
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) More... | |
void | GetLawFeatures (Features &rFeatures) override |
This function is designed to be called once to check compatibility with element. More... | |
int | Check (const Properties &rMaterialProperties, const GeometryType &rElementGeometry, const ProcessInfo &rCurrentProcessInfo) const override |
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. More... | |
void | CalculateRotationMatrix (const Properties &rMaterialProperties, BoundedMatrix< double, VoigtSize, VoigtSize > &rRotationMatrix, const IndexType Layer) |
This function computes the rotation matrix T-> E_loc = T*E_glob in order to rotate the strain or S_glob = trans(T)S_loc for the stresses. More... | |
void | CalculateTangentTensor (ConstitutiveLaw::Parameters &rValues, const ConstitutiveLaw::StressMeasure &rStressMeasure) |
This method computes the tangent tensor. More... | |
void | CalculateGreenLagrangeStrain (Parameters &rValues) |
void | CalculateAlmansiStrain (Parameters &rValues) |
Public Member Functions inherited from Kratos::ConstitutiveLaw | |
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 Pointer | Create (Kratos::Parameters NewParameters, const Properties &rProperties) const |
It creates a new constitutive law pointer (version with properties) More... | |
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 & | 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 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 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 | CalculateStressResponse (Parameters &rValues, Vector &rInternalVariables) |
void | InitializeMaterialResponse (Parameters &rValues, const StressMeasure &rStressMeasure) |
Initialize the material response, called by the element in InitializeSolutionStep. More... | |
void | FinalizeMaterialResponse (Parameters &rValues, const StressMeasure &rStressMeasure) |
Finalize the material response, called by the element in FinalizeSolutionStep. More... | |
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 | CalculateCauchyStresses (Vector &Cauchy_StressVector, const Matrix &F, const Vector &PK2_StressVector, const Vector &GreenLagrangeStrainVector) |
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... | |
Type Definitions | |
typedef ProcessInfo | ProcessInfoType |
The definition of the process info. More... | |
typedef ConstitutiveLaw | BaseType |
The definition of the CL base class. More... | |
typedef std::size_t | SizeType |
The definition of the size type. More... | |
typedef std::size_t | IndexType |
The definition of the index type. More... | |
static constexpr SizeType | VoigtSize = (TDim == 3) ? 6 : 3 |
The define the working dimension size, already defined in the integrator. More... | |
static constexpr SizeType | Dimension = TDim |
The define the Voigt size, already defined in the integrator. More... | |
static constexpr double | machine_tolerance = std::numeric_limits<double>::epsilon() |
Definition of the machine precision tolerance. More... | |
KRATOS_CLASS_POINTER_DEFINITION (ParallelRuleOfMixturesLaw) | |
Pointer definition of ParallelRuleOfMixturesLaw. More... | |
Serialization | |
class | Serializer |
Additional Inherited Members | |
Public Types inherited from Kratos::ConstitutiveLaw | |
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 |
Static Public Member Functions inherited from Kratos::ConstitutiveLaw | |
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 inherited from Kratos::ConstitutiveLaw | |
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 inherited from Kratos::ConstitutiveLaw | |
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} } |
This law defines a parallel rule of mixture (classic law of mixture)
The constitutive law show have defined a subproperties in order to work properly This law combines parallel CL considering the following principles:
typedef ConstitutiveLaw Kratos::ParallelRuleOfMixturesLaw< TDim >::BaseType |
The definition of the CL base class.
typedef std::size_t Kratos::ParallelRuleOfMixturesLaw< TDim >::IndexType |
The definition of the index type.
typedef ProcessInfo Kratos::ParallelRuleOfMixturesLaw< TDim >::ProcessInfoType |
The definition of the process info.
typedef std::size_t Kratos::ParallelRuleOfMixturesLaw< TDim >::SizeType |
The definition of the size type.
Kratos::ParallelRuleOfMixturesLaw< TDim >::ParallelRuleOfMixturesLaw |
Default constructor.
Kratos::ParallelRuleOfMixturesLaw< TDim >::ParallelRuleOfMixturesLaw | ( | const std::vector< double > & | rCombinationFactors | ) |
Constructor with values.
rCombinationFactors | The list of subproperties combination factors |
Kratos::ParallelRuleOfMixturesLaw< TDim >::ParallelRuleOfMixturesLaw | ( | const ParallelRuleOfMixturesLaw< TDim > & | rOther | ) |
Copy constructor.
|
override |
Destructor.
void Kratos::ParallelRuleOfMixturesLaw< TDim >::CalculateAlmansiStrain | ( | ConstitutiveLaw::Parameters & | rValues | ) |
This method computes the Almansi strain
void Kratos::ParallelRuleOfMixturesLaw< TDim >::CalculateGreenLagrangeStrain | ( | ConstitutiveLaw::Parameters & | rValues | ) |
This method computes the Green-Lagrange strain
|
overridevirtual |
Computes the material response in terms of Cauchy stresses and constitutive tensor.
Reimplemented from Kratos::ConstitutiveLaw.
Reimplemented in Kratos::TractionSeparationLaw3D< TDim >, and Kratos::TractionSeparationLaw3D< 3 >.
|
overridevirtual |
Computes the material response in terms of Kirchhoff stresses and constitutive tensor.
Reimplemented from Kratos::ConstitutiveLaw.
Reimplemented in Kratos::TractionSeparationLaw3D< TDim >, and Kratos::TractionSeparationLaw3D< 3 >.
|
overridevirtual |
Computes the material response in terms of 1st Piola-Kirchhoff stresses and constitutive tensor.
Reimplemented from Kratos::ConstitutiveLaw.
Reimplemented in Kratos::TractionSeparationLaw3D< TDim >, and Kratos::TractionSeparationLaw3D< 3 >.
|
overridevirtual |
Computes the material response in terms of 2nd Piola-Kirchhoff stresses and constitutive tensor.
Reimplemented from Kratos::ConstitutiveLaw.
Reimplemented in Kratos::TractionSeparationLaw3D< TDim >, and Kratos::TractionSeparationLaw3D< 3 >.
void Kratos::ParallelRuleOfMixturesLaw< TDim >::CalculateRotationMatrix | ( | const Properties & | rMaterialProperties, |
BoundedMatrix< double, VoigtSize, VoigtSize > & | rRotationMatrix, | ||
const IndexType | Layer | ||
) |
This function computes the rotation matrix T-> E_loc = T*E_glob in order to rotate the strain or S_glob = trans(T)S_loc for the stresses.
void Kratos::ParallelRuleOfMixturesLaw< TDim >::CalculateTangentTensor | ( | ConstitutiveLaw::Parameters & | rValues, |
const ConstitutiveLaw::StressMeasure & | rStressMeasure | ||
) |
This method computes the tangent tensor.
rValues | The constitutive law parameters and flags |
|
overridevirtual |
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 |
Reimplemented from Kratos::ConstitutiveLaw.
|
overridevirtual |
Returns the value of a specified variable (array of 6 components)
rThisVariable | the variable to be returned |
rValue | a reference to the returned value |
Reimplemented from Kratos::ConstitutiveLaw.
|
overridevirtual |
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 |
Reimplemented from Kratos::ConstitutiveLaw.
|
overridevirtual |
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 |
Reimplemented from Kratos::ConstitutiveLaw.
|
overridevirtual |
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 |
Reimplemented from Kratos::ConstitutiveLaw.
|
overridevirtual |
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 from Kratos::ConstitutiveLaw.
Reimplemented in Kratos::TractionSeparationLaw3D< TDim >, and Kratos::TractionSeparationLaw3D< 3 >.
|
overridevirtual |
Clone operation.
Reimplemented from Kratos::ConstitutiveLaw.
Reimplemented in Kratos::TractionSeparationLaw3D< TDim >, and Kratos::TractionSeparationLaw3D< 3 >.
|
overridevirtual |
Creates a new constitutive law pointer.
NewParameters | The configuration parameters of the new constitutive law |
Reimplemented from Kratos::ConstitutiveLaw.
Reimplemented in Kratos::TractionSeparationLaw3D< TDim >, and Kratos::TractionSeparationLaw3D< 3 >.
|
overridevirtual |
Finalize the material response in terms of Cauchy stresses.
Reimplemented from Kratos::ConstitutiveLaw.
Reimplemented in Kratos::TractionSeparationLaw3D< TDim >, and Kratos::TractionSeparationLaw3D< 3 >.
|
overridevirtual |
Finalize the material response in terms of Kirchhoff stresses.
Reimplemented from Kratos::ConstitutiveLaw.
Reimplemented in Kratos::TractionSeparationLaw3D< TDim >, and Kratos::TractionSeparationLaw3D< 3 >.
|
overridevirtual |
Finalize the material response in terms of 1st Piola-Kirchhoff stresses.
Reimplemented from Kratos::ConstitutiveLaw.
Reimplemented in Kratos::TractionSeparationLaw3D< TDim >, and Kratos::TractionSeparationLaw3D< 3 >.
|
overridevirtual |
Finalize the material response in terms of 2nd Piola-Kirchhoff stresses.
Reimplemented from Kratos::ConstitutiveLaw.
Reimplemented in Kratos::TractionSeparationLaw3D< TDim >, and Kratos::TractionSeparationLaw3D< 3 >.
|
inline |
|
inline |
|
overridevirtual |
This function is designed to be called once to check compatibility with element.
rFeatures |
Reimplemented from Kratos::ConstitutiveLaw.
|
overridevirtual |
Returns the expected strain measure of this constitutive law (by default linear strains)
Reimplemented from Kratos::ConstitutiveLaw.
|
overridevirtual |
|
overridevirtual |
Returns the stress measure of this constitutive law (by default 1st Piola-Kirchhoff stress in voigt notation)
Reimplemented from Kratos::ConstitutiveLaw.
|
overridevirtual |
Returns the value of a specified variable (array of 3 components)
rThisVariable | the variable to be returned |
rValue | a reference to the returned value |
Reimplemented from Kratos::ConstitutiveLaw.
|
overridevirtual |
Returns the value of a specified variable (array of 6 components)
rThisVariable | the variable to be returned |
rValue | a reference to the returned value |
Reimplemented from Kratos::ConstitutiveLaw.
|
overridevirtual |
Returns the value of a specified variable (boolean)
rThisVariable | the variable to be returned |
rValue | a reference to the returned value |
Reimplemented from Kratos::ConstitutiveLaw.
|
overridevirtual |
Returns the value of a specified variable (double)
rThisVariable | the variable to be returned |
rValue | a reference to the returned value |
Reimplemented from Kratos::ConstitutiveLaw.
|
overridevirtual |
@briefReturns the value of a specified variable (integer)
rThisVariable | the variable to be returned |
rValue | a reference to the returned value |
Reimplemented from Kratos::ConstitutiveLaw.
|
overridevirtual |
Returns the value of a specified variable (Matrix)
rThisVariable | the variable to be returned |
Reimplemented from Kratos::ConstitutiveLaw.
|
overridevirtual |
Returns the value of a specified variable (Vector)
rThisVariable | the variable to be returned |
rValue | a reference to the returned value |
Reimplemented from Kratos::ConstitutiveLaw.
Reimplemented in Kratos::TractionSeparationLaw3D< TDim >, and Kratos::TractionSeparationLaw3D< 3 >.
|
overridevirtual |
Returns whether this constitutive Law has specified variable (array of 3 components)
rThisVariable | the variable to be checked for |
Reimplemented from Kratos::ConstitutiveLaw.
|
overridevirtual |
Returns whether this constitutive Law has specified variable (array of 6 components)
rThisVariable | the variable to be checked for |
Reimplemented from Kratos::ConstitutiveLaw.
|
overridevirtual |
Returns whether this constitutive Law has specified variable (boolean)
rThisVariable | the variable to be checked for |
Reimplemented from Kratos::ConstitutiveLaw.
|
overridevirtual |
Returns whether this constitutive Law has specified variable (double)
rThisVariable | the variable to be checked for |
Reimplemented from Kratos::ConstitutiveLaw.
|
overridevirtual |
Returns whether this constitutive Law has specified variable (integer)
rThisVariable | the variable to be checked for |
Reimplemented from Kratos::ConstitutiveLaw.
|
overridevirtual |
Returns whether this constitutive Law has specified variable (Matrix)
rThisVariable | the variable to be checked for |
Reimplemented from Kratos::ConstitutiveLaw.
|
overridevirtual |
Returns whether this constitutive Law has specified variable (Vector)
rThisVariable | the variable to be checked for |
Reimplemented from Kratos::ConstitutiveLaw.
Reimplemented in Kratos::TractionSeparationLaw3D< TDim >, and Kratos::TractionSeparationLaw3D< 3 >.
|
overridevirtual |
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 from Kratos::ConstitutiveLaw.
Reimplemented in Kratos::TractionSeparationLaw3D< TDim >, and Kratos::TractionSeparationLaw3D< 3 >.
|
overridevirtual |
Initialize the material response in terms of Cauchy stresses.
Reimplemented from Kratos::ConstitutiveLaw.
|
overridevirtual |
Initialize the material response in terms of Kirchhoff stresses.
Reimplemented from Kratos::ConstitutiveLaw.
|
overridevirtual |
Initialize the material response in terms of 1st Piola-Kirchhoff stresses.
Reimplemented from Kratos::ConstitutiveLaw.
|
overridevirtual |
Initialize the material response in terms of 2nd Piola-Kirchhoff stresses.
Reimplemented from Kratos::ConstitutiveLaw.
|
overridevirtual |
Returns whether this constitutive model is formulated in incremental strains/stresses.
Reimplemented from Kratos::ConstitutiveLaw.
Kratos::ParallelRuleOfMixturesLaw< TDim >::KRATOS_CLASS_POINTER_DEFINITION | ( | ParallelRuleOfMixturesLaw< TDim > | ) |
Pointer definition of ParallelRuleOfMixturesLaw.
|
inlineoverridevirtual |
If the CL requires to initialize the material response, called by the element in InitializeSolutionStep.
Reimplemented from Kratos::ConstitutiveLaw.
|
inlineoverridevirtual |
If the CL requires to initialize the material response, called by the element in InitializeSolutionStep.
Reimplemented from Kratos::ConstitutiveLaw.
|
overridevirtual |
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 |
Reimplemented from Kratos::ConstitutiveLaw.
|
inline |
|
overridevirtual |
Sets the value of a specified variable (array of 3 components)
rThisVariable | the variable to be returned |
rValue | new value of the specified variable |
rCurrentProcessInfo | the process info |
Reimplemented from Kratos::ConstitutiveLaw.
|
overridevirtual |
Sets the value of a specified variable (array of 6 components)
rThisVariable | the variable to be returned |
rValue | new value of the specified variable |
rCurrentProcessInfo | the process info |
Reimplemented from Kratos::ConstitutiveLaw.
|
overridevirtual |
Sets the value of a specified variable (boolean)
rThisVariable | the variable to be returned |
rValue | new value of the specified variable |
rCurrentProcessInfo | the process info |
Reimplemented from Kratos::ConstitutiveLaw.
|
overridevirtual |
Sets the value of a specified variable (double)
rThisVariable | the variable to be returned |
rValue | new value of the specified variable |
rCurrentProcessInfo | the process info |
Reimplemented from Kratos::ConstitutiveLaw.
|
overridevirtual |
Sets the value of a specified variable (integer)
rThisVariable | the variable to be returned |
rValue | new value of the specified variable |
rCurrentProcessInfo | the process info |
Reimplemented from Kratos::ConstitutiveLaw.
|
overridevirtual |
Sets the value of a specified variable (Matrix)
rThisVariable | the variable to be returned |
rValue | new value of the specified variable |
rCurrentProcessInfo | the process info |
Reimplemented from Kratos::ConstitutiveLaw.
|
overridevirtual |
Sets the value of a specified variable (Vector)
rThisVariable | the variable to be returned |
rValue | new value of the specified variable |
rCurrentProcessInfo | the process info |
Reimplemented from Kratos::ConstitutiveLaw.
|
overridevirtual |
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 from Kratos::ConstitutiveLaw.
Reimplemented in Kratos::TractionSeparationLaw3D< TDim >, and Kratos::TractionSeparationLaw3D< 3 >.
|
overridevirtual |
Dimension of the law.
This is not used, so 0 is returned
Reimplemented from Kratos::ConstitutiveLaw.
|
friend |
|
staticconstexpr |
The define the Voigt size, already defined in the integrator.
|
staticconstexpr |
Definition of the machine precision tolerance.
|
staticconstexpr |
The define the working dimension size, already defined in the integrator.