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.
List of all members
Kratos::ParallelRuleOfMixturesLaw< TDim > Class Template Reference

This law defines a parallel rule of mixture (classic law of mixture) More...

#include <rule_of_mixtures_law.h>

Inheritance diagram for Kratos::ParallelRuleOfMixturesLaw< TDim >:
Collaboration diagram for Kratos::ParallelRuleOfMixturesLaw< TDim >:

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...
 
boolGetValue (const Variable< bool > &rThisVariable, bool &rValue) override
 Returns the value of a specified variable (boolean) More...
 
intGetValue (const Variable< int > &rThisVariable, int &rValue) override
 
doubleGetValue (const Variable< double > &rThisVariable, double &rValue) override
 Returns the value of a specified variable (double) More...
 
VectorGetValue (const Variable< Vector > &rThisVariable, Vector &rValue) override
 Returns the value of a specified variable (Vector) More...
 
MatrixGetValue (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...
 
doubleCalculateValue (Parameters &rParameterValues, const Variable< double > &rThisVariable, double &rValue) override
 Calculates the value of a specified variable (double) More...
 
VectorCalculateValue (Parameters &rParameterValues, const Variable< Vector > &rThisVariable, Vector &rValue) override
 Calculates the value of a specified variable (Vector) More...
 
MatrixCalculateValue (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 ()
 
InitialStateGetInitialState ()
 
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 boolCalculateValue (Parameters &rParameterValues, const Variable< bool > &rThisVariable, bool &rValue)
 Calculates the value of a specified variable (bool) More...
 
virtual intCalculateValue (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 VectorTransformStrains (Vector &rStrainVector, const Matrix &rF, StrainMeasure rStrainInitial, StrainMeasure rStrainFinal)
 
virtual MatrixTransformStresses (Matrix &rStressMatrix, const Matrix &rF, const double &rdetF, StressMeasure rStressInitial, StressMeasure rStressFinal)
 
virtual VectorTransformStresses (Vector &rStressVector, const Matrix &rF, const double &rdetF, StressMeasure rStressInitial, StressMeasure rStressFinal)
 
VectorTransformPK1Stresses (Vector &rStressVector, const Matrix &rF, const double &rdetF, StressMeasure rStressFinal)
 
VectorTransformPK2Stresses (Vector &rStressVector, const Matrix &rF, const double &rdetF, StressMeasure rStressFinal)
 
VectorTransformKirchhoffStresses (Vector &rStressVector, const Matrix &rF, const double &rdetF, StressMeasure rStressFinal)
 
VectorTransformCauchyStresses (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
Flagsoperator= (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 Flagsoperator|= (const Flags &Other)
 
const Flagsoperator&= (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< NodeGeometryType
 
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)
 
doubleTransformConstitutiveComponent (double &rCabcd, const Matrix &rConstitutiveMatrix, const Matrix &rF, const unsigned int &a, const unsigned int &b, const unsigned int &c, const unsigned int &d)
 
doubleGetConstitutiveComponent (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} }
 

Detailed Description

template<unsigned int TDim>
class Kratos::ParallelRuleOfMixturesLaw< TDim >

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:

Member Typedef Documentation

◆ BaseType

template<unsigned int TDim>
typedef ConstitutiveLaw Kratos::ParallelRuleOfMixturesLaw< TDim >::BaseType

The definition of the CL base class.

◆ IndexType

template<unsigned int TDim>
typedef std::size_t Kratos::ParallelRuleOfMixturesLaw< TDim >::IndexType

The definition of the index type.

◆ ProcessInfoType

template<unsigned int TDim>
typedef ProcessInfo Kratos::ParallelRuleOfMixturesLaw< TDim >::ProcessInfoType

The definition of the process info.

◆ SizeType

template<unsigned int TDim>
typedef std::size_t Kratos::ParallelRuleOfMixturesLaw< TDim >::SizeType

The definition of the size type.

Constructor & Destructor Documentation

◆ ParallelRuleOfMixturesLaw() [1/3]

template<unsigned int TDim>
Kratos::ParallelRuleOfMixturesLaw< TDim >::ParallelRuleOfMixturesLaw

Default constructor.

◆ ParallelRuleOfMixturesLaw() [2/3]

template<unsigned int TDim>
Kratos::ParallelRuleOfMixturesLaw< TDim >::ParallelRuleOfMixturesLaw ( const std::vector< double > &  rCombinationFactors)

Constructor with values.

Parameters
rCombinationFactorsThe list of subproperties combination factors

◆ ParallelRuleOfMixturesLaw() [3/3]

template<unsigned int TDim>
Kratos::ParallelRuleOfMixturesLaw< TDim >::ParallelRuleOfMixturesLaw ( const ParallelRuleOfMixturesLaw< TDim > &  rOther)

Copy constructor.

◆ ~ParallelRuleOfMixturesLaw()

template<unsigned int TDim>
Kratos::ParallelRuleOfMixturesLaw< TDim >::~ParallelRuleOfMixturesLaw
override

Destructor.

Member Function Documentation

◆ CalculateAlmansiStrain()

template<unsigned int TDim>
void Kratos::ParallelRuleOfMixturesLaw< TDim >::CalculateAlmansiStrain ( ConstitutiveLaw::Parameters rValues)

This method computes the Almansi strain

See also
Parameters

◆ CalculateGreenLagrangeStrain()

template<unsigned int TDim>
void Kratos::ParallelRuleOfMixturesLaw< TDim >::CalculateGreenLagrangeStrain ( ConstitutiveLaw::Parameters rValues)

This method computes the Green-Lagrange strain

See also
Parameters

◆ CalculateMaterialResponseCauchy()

template<unsigned int TDim>
void Kratos::ParallelRuleOfMixturesLaw< TDim >::CalculateMaterialResponseCauchy ( ConstitutiveLaw::Parameters rValues)
overridevirtual

Computes the material response in terms of Cauchy stresses and constitutive tensor.

See also
Parameters

Reimplemented from Kratos::ConstitutiveLaw.

Reimplemented in Kratos::TractionSeparationLaw3D< TDim >, and Kratos::TractionSeparationLaw3D< 3 >.

◆ CalculateMaterialResponseKirchhoff()

template<unsigned int TDim>
void Kratos::ParallelRuleOfMixturesLaw< TDim >::CalculateMaterialResponseKirchhoff ( ConstitutiveLaw::Parameters rValues)
overridevirtual

Computes the material response in terms of Kirchhoff stresses and constitutive tensor.

See also
Parameters

Reimplemented from Kratos::ConstitutiveLaw.

Reimplemented in Kratos::TractionSeparationLaw3D< TDim >, and Kratos::TractionSeparationLaw3D< 3 >.

◆ CalculateMaterialResponsePK1()

template<unsigned int TDim>
void Kratos::ParallelRuleOfMixturesLaw< TDim >::CalculateMaterialResponsePK1 ( ConstitutiveLaw::Parameters rValues)
overridevirtual

Computes the material response in terms of 1st Piola-Kirchhoff stresses and constitutive tensor.

See also
Parameters

Reimplemented from Kratos::ConstitutiveLaw.

Reimplemented in Kratos::TractionSeparationLaw3D< TDim >, and Kratos::TractionSeparationLaw3D< 3 >.

◆ CalculateMaterialResponsePK2()

template<unsigned int TDim>
void Kratos::ParallelRuleOfMixturesLaw< TDim >::CalculateMaterialResponsePK2 ( ConstitutiveLaw::Parameters rValues)
overridevirtual

Computes the material response in terms of 2nd Piola-Kirchhoff stresses and constitutive tensor.

See also
Parameters

Reimplemented from Kratos::ConstitutiveLaw.

Reimplemented in Kratos::TractionSeparationLaw3D< TDim >, and Kratos::TractionSeparationLaw3D< 3 >.

◆ CalculateRotationMatrix()

template<unsigned int TDim>
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.

◆ CalculateTangentTensor()

template<unsigned int TDim>
void Kratos::ParallelRuleOfMixturesLaw< TDim >::CalculateTangentTensor ( ConstitutiveLaw::Parameters rValues,
const ConstitutiveLaw::StressMeasure rStressMeasure 
)

This method computes the tangent tensor.

Parameters
rValuesThe constitutive law parameters and flags

◆ CalculateValue() [1/5]

template<unsigned int TDim>
array_1d<double, 3 >& Kratos::ParallelRuleOfMixturesLaw< TDim >::CalculateValue ( Parameters rParameterValues,
const Variable< array_1d< double, 3 > > &  rVariable,
array_1d< double, 3 > &  rValue 
)
overridevirtual

Calculates the value of a specified variable (array of 3 components)

Parameters
rParameterValuesthe needed parameters for the CL calculation
rThisVariablethe variable to be returned
rValuea reference to the returned value
rValueoutput: the value of the specified variable

Reimplemented from Kratos::ConstitutiveLaw.

◆ CalculateValue() [2/5]

template<unsigned int TDim>
array_1d<double, 6 >& Kratos::ParallelRuleOfMixturesLaw< TDim >::CalculateValue ( Parameters rParameterValues,
const Variable< array_1d< double, 6 > > &  rVariable,
array_1d< double, 6 > &  rValue 
)
overridevirtual

Returns the value of a specified variable (array of 6 components)

Parameters
rThisVariablethe variable to be returned
rValuea reference to the returned value
Returns
The value of the specified variable

Reimplemented from Kratos::ConstitutiveLaw.

◆ CalculateValue() [3/5]

template<unsigned int TDim>
double & Kratos::ParallelRuleOfMixturesLaw< TDim >::CalculateValue ( ConstitutiveLaw::Parameters rParameterValues,
const Variable< double > &  rThisVariable,
double rValue 
)
overridevirtual

Calculates the value of a specified variable (double)

Parameters
rParameterValuesthe needed parameters for the CL calculation
rThisVariablethe variable to be returned
rValuea reference to the returned value
rValueoutput: the value of the specified variable

Reimplemented from Kratos::ConstitutiveLaw.

◆ CalculateValue() [4/5]

template<unsigned int TDim>
Matrix & Kratos::ParallelRuleOfMixturesLaw< TDim >::CalculateValue ( ConstitutiveLaw::Parameters rParameterValues,
const Variable< Matrix > &  rThisVariable,
Matrix rValue 
)
overridevirtual

Calculates the value of a specified variable (Matrix)

Parameters
rParameterValuesthe needed parameters for the CL calculation
rThisVariablethe variable to be returned
rValuea reference to the returned value
rValueoutput: the value of the specified variable

Reimplemented from Kratos::ConstitutiveLaw.

◆ CalculateValue() [5/5]

template<unsigned int TDim>
Vector & Kratos::ParallelRuleOfMixturesLaw< TDim >::CalculateValue ( ConstitutiveLaw::Parameters rParameterValues,
const Variable< Vector > &  rThisVariable,
Vector rValue 
)
overridevirtual

Calculates the value of a specified variable (Vector)

Parameters
rParameterValuesthe needed parameters for the CL calculation
rThisVariablethe variable to be returned
rValuea reference to the returned value
rValueoutput: the value of the specified variable

Reimplemented from Kratos::ConstitutiveLaw.

◆ Check()

template<unsigned int TDim>
int Kratos::ParallelRuleOfMixturesLaw< TDim >::Check ( const Properties rMaterialProperties,
const GeometryType rElementGeometry,
const ProcessInfo rCurrentProcessInfo 
) const
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.

Parameters
rMaterialProperties
rElementGeometry
rCurrentProcessInfo
Returns
0 if OK, 1 otherwise

Reimplemented from Kratos::ConstitutiveLaw.

Reimplemented in Kratos::TractionSeparationLaw3D< TDim >, and Kratos::TractionSeparationLaw3D< 3 >.

◆ Clone()

template<unsigned int TDim>
ConstitutiveLaw::Pointer Kratos::ParallelRuleOfMixturesLaw< TDim >::Clone
overridevirtual

◆ Create()

template<unsigned int TDim>
ConstitutiveLaw::Pointer Kratos::ParallelRuleOfMixturesLaw< TDim >::Create ( Kratos::Parameters  NewParameters) const
overridevirtual

Creates a new constitutive law pointer.

Parameters
NewParametersThe configuration parameters of the new constitutive law
Returns
a Pointer to the new constitutive law

Reimplemented from Kratos::ConstitutiveLaw.

Reimplemented in Kratos::TractionSeparationLaw3D< TDim >, and Kratos::TractionSeparationLaw3D< 3 >.

◆ FinalizeMaterialResponseCauchy()

template<unsigned int TDim>
void Kratos::ParallelRuleOfMixturesLaw< TDim >::FinalizeMaterialResponseCauchy ( Parameters rValues)
overridevirtual

Finalize the material response in terms of Cauchy stresses.

See also
Parameters

Reimplemented from Kratos::ConstitutiveLaw.

Reimplemented in Kratos::TractionSeparationLaw3D< TDim >, and Kratos::TractionSeparationLaw3D< 3 >.

◆ FinalizeMaterialResponseKirchhoff()

template<unsigned int TDim>
void Kratos::ParallelRuleOfMixturesLaw< TDim >::FinalizeMaterialResponseKirchhoff ( Parameters rValues)
overridevirtual

Finalize the material response in terms of Kirchhoff stresses.

See also
Parameters

Reimplemented from Kratos::ConstitutiveLaw.

Reimplemented in Kratos::TractionSeparationLaw3D< TDim >, and Kratos::TractionSeparationLaw3D< 3 >.

◆ FinalizeMaterialResponsePK1()

template<unsigned int TDim>
void Kratos::ParallelRuleOfMixturesLaw< TDim >::FinalizeMaterialResponsePK1 ( Parameters rValues)
overridevirtual

Finalize the material response in terms of 1st Piola-Kirchhoff stresses.

See also
Parameters

Reimplemented from Kratos::ConstitutiveLaw.

Reimplemented in Kratos::TractionSeparationLaw3D< TDim >, and Kratos::TractionSeparationLaw3D< 3 >.

◆ FinalizeMaterialResponsePK2()

template<unsigned int TDim>
void Kratos::ParallelRuleOfMixturesLaw< TDim >::FinalizeMaterialResponsePK2 ( Parameters rValues)
overridevirtual

Finalize the material response in terms of 2nd Piola-Kirchhoff stresses.

See also
Parameters

Reimplemented from Kratos::ConstitutiveLaw.

Reimplemented in Kratos::TractionSeparationLaw3D< TDim >, and Kratos::TractionSeparationLaw3D< 3 >.

◆ GetCombinationFactors()

template<unsigned int TDim>
std::vector<double>& Kratos::ParallelRuleOfMixturesLaw< TDim >::GetCombinationFactors ( )
inline

◆ GetConstitutiveLaws()

template<unsigned int TDim>
std::vector<ConstitutiveLaw::Pointer>& Kratos::ParallelRuleOfMixturesLaw< TDim >::GetConstitutiveLaws ( )
inline

◆ GetLawFeatures()

template<unsigned int TDim>
void Kratos::ParallelRuleOfMixturesLaw< TDim >::GetLawFeatures ( Features rFeatures)
overridevirtual

This function is designed to be called once to check compatibility with element.

Parameters
rFeatures

Reimplemented from Kratos::ConstitutiveLaw.

◆ GetStrainMeasure()

template<unsigned int TDim>
ConstitutiveLaw::StrainMeasure Kratos::ParallelRuleOfMixturesLaw< TDim >::GetStrainMeasure
overridevirtual

Returns the expected strain measure of this constitutive law (by default linear strains)

Returns
the expected strain measure

Reimplemented from Kratos::ConstitutiveLaw.

◆ GetStrainSize()

template<unsigned int TDim>
std::size_t Kratos::ParallelRuleOfMixturesLaw< TDim >::GetStrainSize
overridevirtual

Voigt tensor size.

This is not used, so 0 is returned

Reimplemented from Kratos::ConstitutiveLaw.

◆ GetStressMeasure()

template<unsigned int TDim>
ConstitutiveLaw::StressMeasure Kratos::ParallelRuleOfMixturesLaw< TDim >::GetStressMeasure
overridevirtual

Returns the stress measure of this constitutive law (by default 1st Piola-Kirchhoff stress in voigt notation)

Returns
the expected stress measure

Reimplemented from Kratos::ConstitutiveLaw.

◆ GetValue() [1/7]

template<unsigned int TDim>
array_1d<double, 3 >& Kratos::ParallelRuleOfMixturesLaw< TDim >::GetValue ( const Variable< array_1d< double, 3 > > &  rThisVariable,
array_1d< double, 3 > &  rValue 
)
overridevirtual

Returns the value of a specified variable (array of 3 components)

Parameters
rThisVariablethe variable to be returned
rValuea reference to the returned value
Returns
rValue output: the value of the specified variable

Reimplemented from Kratos::ConstitutiveLaw.

◆ GetValue() [2/7]

template<unsigned int TDim>
array_1d<double, 6 >& Kratos::ParallelRuleOfMixturesLaw< TDim >::GetValue ( const Variable< array_1d< double, 6 > > &  rThisVariable,
array_1d< double, 6 > &  rValue 
)
overridevirtual

Returns the value of a specified variable (array of 6 components)

Parameters
rThisVariablethe variable to be returned
rValuea reference to the returned value
Returns
the value of the specified variable

Reimplemented from Kratos::ConstitutiveLaw.

◆ GetValue() [3/7]

template<unsigned int TDim>
bool & Kratos::ParallelRuleOfMixturesLaw< TDim >::GetValue ( const Variable< bool > &  rThisVariable,
bool rValue 
)
overridevirtual

Returns the value of a specified variable (boolean)

Parameters
rThisVariablethe variable to be returned
rValuea reference to the returned value
Returns
rValue output: the value of the specified variable

Reimplemented from Kratos::ConstitutiveLaw.

◆ GetValue() [4/7]

template<unsigned int TDim>
double & Kratos::ParallelRuleOfMixturesLaw< TDim >::GetValue ( const Variable< double > &  rThisVariable,
double rValue 
)
overridevirtual

Returns the value of a specified variable (double)

Parameters
rThisVariablethe variable to be returned
rValuea reference to the returned value
Returns
rValue output: the value of the specified variable

Reimplemented from Kratos::ConstitutiveLaw.

◆ GetValue() [5/7]

template<unsigned int TDim>
int & Kratos::ParallelRuleOfMixturesLaw< TDim >::GetValue ( const Variable< int > &  rThisVariable,
int rValue 
)
overridevirtual

@briefReturns the value of a specified variable (integer)

Parameters
rThisVariablethe variable to be returned
rValuea reference to the returned value
Returns
rValue output: the value of the specified variable

Reimplemented from Kratos::ConstitutiveLaw.

◆ GetValue() [6/7]

template<unsigned int TDim>
Matrix & Kratos::ParallelRuleOfMixturesLaw< TDim >::GetValue ( const Variable< Matrix > &  rThisVariable,
Matrix rValue 
)
overridevirtual

Returns the value of a specified variable (Matrix)

Parameters
rThisVariablethe variable to be returned
Returns
rValue output: the value of the specified variable

Reimplemented from Kratos::ConstitutiveLaw.

◆ GetValue() [7/7]

template<unsigned int TDim>
Vector & Kratos::ParallelRuleOfMixturesLaw< TDim >::GetValue ( const Variable< Vector > &  rThisVariable,
Vector rValue 
)
overridevirtual

Returns the value of a specified variable (Vector)

Parameters
rThisVariablethe variable to be returned
rValuea reference to the returned value
Returns
rValue output: the value of the specified variable

Reimplemented from Kratos::ConstitutiveLaw.

Reimplemented in Kratos::TractionSeparationLaw3D< TDim >, and Kratos::TractionSeparationLaw3D< 3 >.

◆ Has() [1/7]

template<unsigned int TDim>
bool Kratos::ParallelRuleOfMixturesLaw< TDim >::Has ( const Variable< array_1d< double, 3 > > &  rThisVariable)
overridevirtual

Returns whether this constitutive Law has specified variable (array of 3 components)

Parameters
rThisVariablethe variable to be checked for
Returns
true if the variable is defined in the constitutive law
Note
Fixed size array of 3 doubles (e.g. for 2D stresses, plastic strains, ...)

Reimplemented from Kratos::ConstitutiveLaw.

◆ Has() [2/7]

template<unsigned int TDim>
bool Kratos::ParallelRuleOfMixturesLaw< TDim >::Has ( const Variable< array_1d< double, 6 > > &  rThisVariable)
overridevirtual

Returns whether this constitutive Law has specified variable (array of 6 components)

Parameters
rThisVariablethe variable to be checked for
Returns
true if the variable is defined in the constitutive law
Note
Fixed size array of 6 doubles (e.g. for stresses, plastic strains, ...)

Reimplemented from Kratos::ConstitutiveLaw.

◆ Has() [3/7]

template<unsigned int TDim>
bool Kratos::ParallelRuleOfMixturesLaw< TDim >::Has ( const Variable< bool > &  rThisVariable)
overridevirtual

Returns whether this constitutive Law has specified variable (boolean)

Parameters
rThisVariablethe variable to be checked for
Returns
true if the variable is defined in the constitutive law

Reimplemented from Kratos::ConstitutiveLaw.

◆ Has() [4/7]

template<unsigned int TDim>
bool Kratos::ParallelRuleOfMixturesLaw< TDim >::Has ( const Variable< double > &  rThisVariable)
overridevirtual

Returns whether this constitutive Law has specified variable (double)

Parameters
rThisVariablethe variable to be checked for
Returns
true if the variable is defined in the constitutive law

Reimplemented from Kratos::ConstitutiveLaw.

◆ Has() [5/7]

template<unsigned int TDim>
bool Kratos::ParallelRuleOfMixturesLaw< TDim >::Has ( const Variable< int > &  rThisVariable)
overridevirtual

Returns whether this constitutive Law has specified variable (integer)

Parameters
rThisVariablethe variable to be checked for
Returns
true if the variable is defined in the constitutive law

Reimplemented from Kratos::ConstitutiveLaw.

◆ Has() [6/7]

template<unsigned int TDim>
bool Kratos::ParallelRuleOfMixturesLaw< TDim >::Has ( const Variable< Matrix > &  rThisVariable)
overridevirtual

Returns whether this constitutive Law has specified variable (Matrix)

Parameters
rThisVariablethe variable to be checked for
Returns
true if the variable is defined in the constitutive law

Reimplemented from Kratos::ConstitutiveLaw.

◆ Has() [7/7]

template<unsigned int TDim>
bool Kratos::ParallelRuleOfMixturesLaw< TDim >::Has ( const Variable< Vector > &  rThisVariable)
overridevirtual

Returns whether this constitutive Law has specified variable (Vector)

Parameters
rThisVariablethe variable to be checked for
Returns
true if the variable is defined in the constitutive law

Reimplemented from Kratos::ConstitutiveLaw.

Reimplemented in Kratos::TractionSeparationLaw3D< TDim >, and Kratos::TractionSeparationLaw3D< 3 >.

◆ InitializeMaterial()

template<unsigned int TDim>
void Kratos::ParallelRuleOfMixturesLaw< TDim >::InitializeMaterial ( const Properties rMaterialProperties,
const GeometryType rElementGeometry,
const Vector rShapeFunctionsValues 
)
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

Parameters
rMaterialPropertiesthe Properties instance of the current element
rElementGeometrythe geometry of the current element
rShapeFunctionsValuesthe shape functions values in the current integration point

Reimplemented from Kratos::ConstitutiveLaw.

Reimplemented in Kratos::TractionSeparationLaw3D< TDim >, and Kratos::TractionSeparationLaw3D< 3 >.

◆ InitializeMaterialResponseCauchy()

template<unsigned int TDim>
void Kratos::ParallelRuleOfMixturesLaw< TDim >::InitializeMaterialResponseCauchy ( Parameters rValues)
overridevirtual

Initialize the material response in terms of Cauchy stresses.

See also
Parameters

Reimplemented from Kratos::ConstitutiveLaw.

◆ InitializeMaterialResponseKirchhoff()

template<unsigned int TDim>
void Kratos::ParallelRuleOfMixturesLaw< TDim >::InitializeMaterialResponseKirchhoff ( Parameters rValues)
overridevirtual

Initialize the material response in terms of Kirchhoff stresses.

See also
Parameters

Reimplemented from Kratos::ConstitutiveLaw.

◆ InitializeMaterialResponsePK1()

template<unsigned int TDim>
void Kratos::ParallelRuleOfMixturesLaw< TDim >::InitializeMaterialResponsePK1 ( Parameters rValues)
overridevirtual

Initialize the material response in terms of 1st Piola-Kirchhoff stresses.

See also
Parameters

Reimplemented from Kratos::ConstitutiveLaw.

◆ InitializeMaterialResponsePK2()

template<unsigned int TDim>
void Kratos::ParallelRuleOfMixturesLaw< TDim >::InitializeMaterialResponsePK2 ( Parameters rValues)
overridevirtual

Initialize the material response in terms of 2nd Piola-Kirchhoff stresses.

See also
Parameters

Reimplemented from Kratos::ConstitutiveLaw.

◆ IsIncremental()

template<unsigned int TDim>
bool Kratos::ParallelRuleOfMixturesLaw< TDim >::IsIncremental
overridevirtual

Returns whether this constitutive model is formulated in incremental strains/stresses.

Note
By default, all constitutive models should be formulated in total strains
Returns
true, if formulated in incremental strains/stresses, false otherwise

Reimplemented from Kratos::ConstitutiveLaw.

◆ KRATOS_CLASS_POINTER_DEFINITION()

template<unsigned int TDim>
Kratos::ParallelRuleOfMixturesLaw< TDim >::KRATOS_CLASS_POINTER_DEFINITION ( ParallelRuleOfMixturesLaw< TDim >  )

Pointer definition of ParallelRuleOfMixturesLaw.

◆ RequiresFinalizeMaterialResponse()

template<unsigned int TDim>
bool Kratos::ParallelRuleOfMixturesLaw< TDim >::RequiresFinalizeMaterialResponse ( )
inlineoverridevirtual

If the CL requires to initialize the material response, called by the element in InitializeSolutionStep.

Reimplemented from Kratos::ConstitutiveLaw.

◆ RequiresInitializeMaterialResponse()

template<unsigned int TDim>
bool Kratos::ParallelRuleOfMixturesLaw< TDim >::RequiresInitializeMaterialResponse ( )
inlineoverridevirtual

If the CL requires to initialize the material response, called by the element in InitializeSolutionStep.

Reimplemented from Kratos::ConstitutiveLaw.

◆ ResetMaterial()

template<unsigned int TDim>
void Kratos::ParallelRuleOfMixturesLaw< TDim >::ResetMaterial ( const Properties rMaterialProperties,
const GeometryType rElementGeometry,
const Vector rShapeFunctionsValues 
)
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)

Parameters
rMaterialPropertiesthe Properties instance of the current element
rElementGeometrythe geometry of the current element
rShapeFunctionsValuesthe shape functions values in the current integration point

Reimplemented from Kratos::ConstitutiveLaw.

◆ SetCombinationFactors()

template<unsigned int TDim>
void Kratos::ParallelRuleOfMixturesLaw< TDim >::SetCombinationFactors ( const std::vector< double > &  rVector)
inline

◆ SetValue() [1/7]

template<unsigned int TDim>
void Kratos::ParallelRuleOfMixturesLaw< TDim >::SetValue ( const Variable< array_1d< double, 3 > > &  rThisVariable,
const array_1d< double, 3 > &  rValue,
const ProcessInfo rCurrentProcessInfo 
)
overridevirtual

Sets the value of a specified variable (array of 3 components)

Parameters
rThisVariablethe variable to be returned
rValuenew value of the specified variable
rCurrentProcessInfothe process info

Reimplemented from Kratos::ConstitutiveLaw.

◆ SetValue() [2/7]

template<unsigned int TDim>
void Kratos::ParallelRuleOfMixturesLaw< TDim >::SetValue ( const Variable< array_1d< double, 6 > > &  rThisVariable,
const array_1d< double, 6 > &  rValue,
const ProcessInfo rCurrentProcessInfo 
)
overridevirtual

Sets the value of a specified variable (array of 6 components)

Parameters
rThisVariablethe variable to be returned
rValuenew value of the specified variable
rCurrentProcessInfothe process info

Reimplemented from Kratos::ConstitutiveLaw.

◆ SetValue() [3/7]

template<unsigned int TDim>
void Kratos::ParallelRuleOfMixturesLaw< TDim >::SetValue ( const Variable< bool > &  rThisVariable,
const bool rValue,
const ProcessInfo rCurrentProcessInfo 
)
overridevirtual

Sets the value of a specified variable (boolean)

Parameters
rThisVariablethe variable to be returned
rValuenew value of the specified variable
rCurrentProcessInfothe process info

Reimplemented from Kratos::ConstitutiveLaw.

◆ SetValue() [4/7]

template<unsigned int TDim>
void Kratos::ParallelRuleOfMixturesLaw< TDim >::SetValue ( const Variable< double > &  rThisVariable,
const double rValue,
const ProcessInfo rCurrentProcessInfo 
)
overridevirtual

Sets the value of a specified variable (double)

Parameters
rThisVariablethe variable to be returned
rValuenew value of the specified variable
rCurrentProcessInfothe process info

Reimplemented from Kratos::ConstitutiveLaw.

◆ SetValue() [5/7]

template<unsigned int TDim>
void Kratos::ParallelRuleOfMixturesLaw< TDim >::SetValue ( const Variable< int > &  rThisVariable,
const int rValue,
const ProcessInfo rCurrentProcessInfo 
)
overridevirtual

Sets the value of a specified variable (integer)

Parameters
rThisVariablethe variable to be returned
rValuenew value of the specified variable
rCurrentProcessInfothe process info

Reimplemented from Kratos::ConstitutiveLaw.

◆ SetValue() [6/7]

template<unsigned int TDim>
void Kratos::ParallelRuleOfMixturesLaw< TDim >::SetValue ( const Variable< Matrix > &  rThisVariable,
const Matrix rValue,
const ProcessInfo rCurrentProcessInfo 
)
overridevirtual

Sets the value of a specified variable (Matrix)

Parameters
rThisVariablethe variable to be returned
rValuenew value of the specified variable
rCurrentProcessInfothe process info

Reimplemented from Kratos::ConstitutiveLaw.

◆ SetValue() [7/7]

template<unsigned int TDim>
void Kratos::ParallelRuleOfMixturesLaw< TDim >::SetValue ( const Variable< Vector > &  rThisVariable,
const Vector rValue,
const ProcessInfo rCurrentProcessInfo 
)
overridevirtual

Sets the value of a specified variable (Vector)

Parameters
rThisVariablethe variable to be returned
rValuenew value of the specified variable
rCurrentProcessInfothe process info

Reimplemented from Kratos::ConstitutiveLaw.

◆ ValidateInput()

template<unsigned int TDim>
bool Kratos::ParallelRuleOfMixturesLaw< TDim >::ValidateInput ( const Properties rMaterialProperties)
overridevirtual

Is called to check whether the provided material parameters in the Properties match the requirements of current constitutive model.

Parameters
rMaterialPropertiesthe current Properties to be validated against.
Returns
true, if parameters are correct; false, if parameters are insufficient / faulty
Note
this has to be implemented by each constitutive model. Returns false in base class since no valid implementation is contained here.

Reimplemented from Kratos::ConstitutiveLaw.

Reimplemented in Kratos::TractionSeparationLaw3D< TDim >, and Kratos::TractionSeparationLaw3D< 3 >.

◆ WorkingSpaceDimension()

template<unsigned int TDim>
std::size_t Kratos::ParallelRuleOfMixturesLaw< TDim >::WorkingSpaceDimension
overridevirtual

Dimension of the law.

This is not used, so 0 is returned

Reimplemented from Kratos::ConstitutiveLaw.

Friends And Related Function Documentation

◆ Serializer

template<unsigned int TDim>
friend class Serializer
friend

Member Data Documentation

◆ Dimension

template<unsigned int TDim>
constexpr SizeType Kratos::ParallelRuleOfMixturesLaw< TDim >::Dimension = TDim
staticconstexpr

The define the Voigt size, already defined in the integrator.

◆ machine_tolerance

template<unsigned int TDim>
constexpr double Kratos::ParallelRuleOfMixturesLaw< TDim >::machine_tolerance = std::numeric_limits<double>::epsilon()
staticconstexpr

Definition of the machine precision tolerance.

◆ VoigtSize

template<unsigned int TDim>
constexpr SizeType Kratos::ParallelRuleOfMixturesLaw< TDim >::VoigtSize = (TDim == 3) ? 6 : 3
staticconstexpr

The define the working dimension size, already defined in the integrator.


The documentation for this class was generated from the following files: