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.
Classes | Protected Attributes | List of all members
Kratos::BorjaCamClayPlasticFlowRule Class Reference

Short class definition. More...

#include <borja_cam_clay_plastic_flow_rule.hpp>

Inheritance diagram for Kratos::BorjaCamClayPlasticFlowRule:
Collaboration diagram for Kratos::BorjaCamClayPlasticFlowRule:

Classes

struct  MaterialParameters
 

Public Member Functions

Type Definitions
 KRATOS_CLASS_POINTER_DEFINITION (BorjaCamClayPlasticFlowRule)
 Pointer definition of NonLinearAssociativePlasticFlowRule. More...
 
Life Cycle
 BorjaCamClayPlasticFlowRule ()
 Default constructor. More...
 
 BorjaCamClayPlasticFlowRule (YieldCriterionPointer pYieldCriterion)
 Initialization constructor. More...
 
 BorjaCamClayPlasticFlowRule (BorjaCamClayPlasticFlowRule const &rOther)
 Copy constructor. More...
 
BorjaCamClayPlasticFlowRuleoperator= (BorjaCamClayPlasticFlowRule const &rOther)
 Assignment operator. More...
 
ParticleFlowRule::Pointer Clone () const override
 
 ~BorjaCamClayPlasticFlowRule () override
 Destructor. More...
 
bool CalculateReturnMapping (RadialReturnVariables &rReturnMappingVariables, const Matrix &rIncrementalDeformationGradient, Matrix &rStressMatrix, Matrix &rNewElasticLeftCauchyGreen, const Properties &rProp) override
 
bool UpdateInternalVariables (RadialReturnVariables &rReturnMappingVariables, const Properties &rProp) override
 
Matrix GetElasticLeftCauchyGreen (RadialReturnVariables &rReturnMappingVariables) override
 
unsigned int GetPlasticRegion () override
 
void ComputeElastoPlasticTangentMatrix (const RadialReturnVariables &rReturnMappingVariables, const Matrix &rNewElasticLeftCauchyGreen, const double &alfa, Matrix &rConsistMatrix, const Properties &rProp) override
 
void CalculatePrincipalStressTrial (const RadialReturnVariables &rReturnMappingVariables, const Matrix &rNewElasticLeftCauchyGreen, Matrix &rStressMatrix, const Properties &rProp) override
 
- Public Member Functions inherited from Kratos::ParticleFlowRule
 ParticleFlowRule ()
 Default constructor. More...
 
 ParticleFlowRule (YieldCriterionPointer pYieldCriterion)
 Initialization constructor. More...
 
 ParticleFlowRule (ParticleFlowRule const &rOther)
 Copy constructor. More...
 
ParticleFlowRuleoperator= (ParticleFlowRule const &rOther)
 Assignment operator. More...
 
virtual ~ParticleFlowRule ()
 Destructor. More...
 
virtual void InitializeMaterial (const Properties &rMaterialProperties)
 
const InternalVariablesGetInternalVariables ()
 
const ThermalVariablesGetThermalVariables ()
 
virtual bool CalculateReturnMapping (RadialReturnVariables &rReturnMappingVariables, Matrix &rIsoStressMatrix, const Properties &rProp)
 
virtual void CalculateScalingFactors (const RadialReturnVariables &rReturnMappingVariables, PlasticFactors &rScalingFactors)
 
 KRATOS_DEFINE_LOCAL_FLAG (IMPLEX_ACTIVE)
 
 KRATOS_DEFINE_LOCAL_FLAG (PLASTIC_REGION)
 
 KRATOS_DEFINE_LOCAL_FLAG (PLASTIC_RATE_REGION)
 
 KRATOS_DEFINE_LOCAL_FLAG (RETURN_MAPPING_COMPUTED)
 
 KRATOS_CLASS_POINTER_DEFINITION (ParticleFlowRule)
 Pointer definition of FlowRule. More...
 

Protected Member Functions

Protected Operations
void InitializeMaterial (YieldCriterionPointer &pYieldCriterion, HardeningLawPointer &pHardeningLaw, const Properties &rProp) override
 
void InitializeMaterialParameters (const Properties &rProp)
 
void CalculatePrincipalStressVector (const BoundedVector< double, 3 > &rPrincipalStrain, BoundedVector< double, 3 > &rPrincipalStress, const Properties &rProp)
 
void CalculateMeanStress (const double &rVolumetricStrain, const double &rDeviatoricStrain, double &rMeanStress, const Properties &rProp)
 
void CalculateDeviatoricStress (const double &rVolumetricStrain, const BoundedVector< double, 3 > &rDeviatoricStrainVector, BoundedVector< double, 3 > &rDeviatoricStress, const Properties &rProp)
 
void CalculatePrincipalStrainFromStrainInvariants (BoundedVector< double, 3 > &rPrincipalStrain, const double &rVolumetricStrain, const double &rDeviatoricStrain, const BoundedVector< double, 3 > &rDirectionVector)
 
void CalculateStrainInvariantsFromPrincipalStrain (const BoundedVector< double, 3 > &rPrincipalStrain, double &rVolumetricStrain, double &rDeviatoricStrain, BoundedVector< double, 3 > &rDeviatoricStrainVector)
 
bool CalculateConsistencyCondition (RadialReturnVariables &rReturnMappingVariables, const BoundedVector< double, 3 > &rPrincipalStress, BoundedVector< double, 3 > &rPrincipalStrain, unsigned int &region, BoundedVector< double, 3 > &rPrincipalStressUpdated, const Properties &rProp)
 
void CalculateLHSMatrix (Matrix &rLHSMatrix, const BoundedVector< double, 3 > &rPrincipalStressVector, const BoundedVector< double, 3 > &rUnknownVector, const double &rK_p, const Properties &rProp)
 
void CalculateHessianMatrix_2x2 (BoundedMatrix< double, 2, 2 > &rHessianMatrix, const Properties &rProp)
 
void ComputeElasticMatrix_2X2 (const BoundedVector< double, 3 > &rPrincipalStressVector, const double &rVolumetricStrain, const double &rDeviatoricStrain, BoundedMatrix< double, 2, 2 > &rElasticMatrix, const Properties &rProp)
 
void ComputePlasticMatrix_2X2 (const BoundedVector< double, 3 > &rPrincipalStressVector, const double &rVolumetricStrain, const double &rDeviatoricStrain, const BoundedMatrix< double, 2, 2 > &rElasticMatrix, BoundedMatrix< double, 2, 2 > &rPlasticMatrix, const Properties &rProp)
 
void ReturnStressFromPrincipalAxis (const Matrix &rEigenVectors, const BoundedVector< double, 3 > &rPrincipalStress, Matrix &rStressMatrix)
 
void CalculateTransformationMatrix (const BoundedMatrix< double, 3, 3 > &rMainDirection, BoundedMatrix< double, 6, 6 > &rA)
 
void UpdateStateVariables (const BoundedVector< double, 3 > rPrincipalStress, const Properties &rProp, const double rAlpha=0.0, const double rConsistencyParameter=0.0)
 
- Protected Member Functions inherited from Kratos::ParticleFlowRule
virtual doubleCalculateStressNorm (Matrix &rStressMatrix, double &rStressNorm)
 

Protected Attributes

BoundedVector< double, 3 > mElasticPrincipalStrain
 
BoundedVector< double, 3 > mPlasticPrincipalStrain
 
BoundedVector< double, 3 > mPrincipalStressUpdated
 
unsigned int mRegion
 
bool mLargeStrainBool
 
MaterialParameters mMaterialParameters
 
double mInitialVolumetricStrain
 
double mStateFunction
 
Vector mStateFunctionFirstDerivative
 
Vector mStateFunctionSecondDerivative
 
- Protected Attributes inherited from Kratos::ParticleFlowRule
InternalVariables mInternalVariables
 
ThermalVariables mThermalVariables
 
YieldCriterionPointer mpYieldCriterion
 

Serialization

class Serializer
 

Additional Inherited Members

- Public Types inherited from Kratos::ParticleFlowRule
typedef ParticleYieldCriterion::Pointer YieldCriterionPointer
 
typedef ParticleHardeningLaw::Pointer HardeningLawPointer
 
typedef const PropertiesPropertiesPointer
 

Detailed Description

Short class definition.

Detail class definition.

Constructor & Destructor Documentation

◆ BorjaCamClayPlasticFlowRule() [1/3]

Kratos::BorjaCamClayPlasticFlowRule::BorjaCamClayPlasticFlowRule ( )

Default constructor.

◆ BorjaCamClayPlasticFlowRule() [2/3]

Kratos::BorjaCamClayPlasticFlowRule::BorjaCamClayPlasticFlowRule ( YieldCriterionPointer  pYieldCriterion)

Initialization constructor.

◆ BorjaCamClayPlasticFlowRule() [3/3]

Kratos::BorjaCamClayPlasticFlowRule::BorjaCamClayPlasticFlowRule ( BorjaCamClayPlasticFlowRule const &  rOther)

Copy constructor.

◆ ~BorjaCamClayPlasticFlowRule()

Kratos::BorjaCamClayPlasticFlowRule::~BorjaCamClayPlasticFlowRule ( )
override

Destructor.

Member Function Documentation

◆ CalculateConsistencyCondition()

bool Kratos::BorjaCamClayPlasticFlowRule::CalculateConsistencyCondition ( RadialReturnVariables rReturnMappingVariables,
const BoundedVector< double, 3 > &  rPrincipalStress,
BoundedVector< double, 3 > &  rPrincipalStrain,
unsigned int region,
BoundedVector< double, 3 > &  rPrincipalStressUpdated,
const Properties rProp 
)
protected

◆ CalculateDeviatoricStress()

void Kratos::BorjaCamClayPlasticFlowRule::CalculateDeviatoricStress ( const double rVolumetricStrain,
const BoundedVector< double, 3 > &  rDeviatoricStrainVector,
BoundedVector< double, 3 > &  rDeviatoricStress,
const Properties rProp 
)
protected

◆ CalculateHessianMatrix_2x2()

void Kratos::BorjaCamClayPlasticFlowRule::CalculateHessianMatrix_2x2 ( BoundedMatrix< double, 2, 2 > &  rHessianMatrix,
const Properties rProp 
)
protected

◆ CalculateLHSMatrix()

void Kratos::BorjaCamClayPlasticFlowRule::CalculateLHSMatrix ( Matrix rLHSMatrix,
const BoundedVector< double, 3 > &  rPrincipalStressVector,
const BoundedVector< double, 3 > &  rUnknownVector,
const double rK_p,
const Properties rProp 
)
protected

◆ CalculateMeanStress()

void Kratos::BorjaCamClayPlasticFlowRule::CalculateMeanStress ( const double rVolumetricStrain,
const double rDeviatoricStrain,
double rMeanStress,
const Properties rProp 
)
protected

◆ CalculatePrincipalStrainFromStrainInvariants()

void Kratos::BorjaCamClayPlasticFlowRule::CalculatePrincipalStrainFromStrainInvariants ( BoundedVector< double, 3 > &  rPrincipalStrain,
const double rVolumetricStrain,
const double rDeviatoricStrain,
const BoundedVector< double, 3 > &  rDirectionVector 
)
protected

◆ CalculatePrincipalStressTrial()

void Kratos::BorjaCamClayPlasticFlowRule::CalculatePrincipalStressTrial ( const RadialReturnVariables rReturnMappingVariables,
const Matrix rNewElasticLeftCauchyGreen,
Matrix rStressMatrix,
const Properties rProp 
)
overridevirtual

Reimplemented from Kratos::ParticleFlowRule.

◆ CalculatePrincipalStressVector()

void Kratos::BorjaCamClayPlasticFlowRule::CalculatePrincipalStressVector ( const BoundedVector< double, 3 > &  rPrincipalStrain,
BoundedVector< double, 3 > &  rPrincipalStress,
const Properties rProp 
)
protected

◆ CalculateReturnMapping()

bool Kratos::BorjaCamClayPlasticFlowRule::CalculateReturnMapping ( RadialReturnVariables rReturnMappingVariables,
const Matrix rIncrementalDeformationGradient,
Matrix rStressMatrix,
Matrix rNewElasticLeftCauchyGreen,
const Properties rProp 
)
overridevirtual

Reimplemented from Kratos::ParticleFlowRule.

◆ CalculateStrainInvariantsFromPrincipalStrain()

void Kratos::BorjaCamClayPlasticFlowRule::CalculateStrainInvariantsFromPrincipalStrain ( const BoundedVector< double, 3 > &  rPrincipalStrain,
double rVolumetricStrain,
double rDeviatoricStrain,
BoundedVector< double, 3 > &  rDeviatoricStrainVector 
)
protected

◆ CalculateTransformationMatrix()

void Kratos::BorjaCamClayPlasticFlowRule::CalculateTransformationMatrix ( const BoundedMatrix< double, 3, 3 > &  rMainDirection,
BoundedMatrix< double, 6, 6 > &  rA 
)
protected

◆ Clone()

ParticleFlowRule::Pointer Kratos::BorjaCamClayPlasticFlowRule::Clone ( ) const
overridevirtual

Clone function (has to be implemented by any derived class)

Returns
a pointer to a new instance of this flow rule

Reimplemented from Kratos::ParticleFlowRule.

◆ ComputeElasticMatrix_2X2()

void Kratos::BorjaCamClayPlasticFlowRule::ComputeElasticMatrix_2X2 ( const BoundedVector< double, 3 > &  rPrincipalStressVector,
const double rVolumetricStrain,
const double rDeviatoricStrain,
BoundedMatrix< double, 2, 2 > &  rElasticMatrix,
const Properties rProp 
)
protected

◆ ComputeElastoPlasticTangentMatrix()

void Kratos::BorjaCamClayPlasticFlowRule::ComputeElastoPlasticTangentMatrix ( const RadialReturnVariables rReturnMappingVariables,
const Matrix rNewElasticLeftCauchyGreen,
const double alfa,
Matrix rConsistMatrix,
const Properties rProp 
)
overridevirtual

Reimplemented from Kratos::ParticleFlowRule.

◆ ComputePlasticMatrix_2X2()

void Kratos::BorjaCamClayPlasticFlowRule::ComputePlasticMatrix_2X2 ( const BoundedVector< double, 3 > &  rPrincipalStressVector,
const double rVolumetricStrain,
const double rDeviatoricStrain,
const BoundedMatrix< double, 2, 2 > &  rElasticMatrix,
BoundedMatrix< double, 2, 2 > &  rPlasticMatrix,
const Properties rProp 
)
protected

◆ GetElasticLeftCauchyGreen()

Matrix Kratos::BorjaCamClayPlasticFlowRule::GetElasticLeftCauchyGreen ( RadialReturnVariables rReturnMappingVariables)
overridevirtual

Reimplemented from Kratos::ParticleFlowRule.

◆ GetPlasticRegion()

unsigned int Kratos::BorjaCamClayPlasticFlowRule::GetPlasticRegion ( )
overridevirtual

Reimplemented from Kratos::ParticleFlowRule.

◆ InitializeMaterial()

void Kratos::BorjaCamClayPlasticFlowRule::InitializeMaterial ( YieldCriterionPointer pYieldCriterion,
HardeningLawPointer pHardeningLaw,
const Properties rProp 
)
overrideprotectedvirtual

Reimplemented from Kratos::ParticleFlowRule.

◆ InitializeMaterialParameters()

void Kratos::BorjaCamClayPlasticFlowRule::InitializeMaterialParameters ( const Properties rProp)
protected

◆ KRATOS_CLASS_POINTER_DEFINITION()

Kratos::BorjaCamClayPlasticFlowRule::KRATOS_CLASS_POINTER_DEFINITION ( BorjaCamClayPlasticFlowRule  )

Pointer definition of NonLinearAssociativePlasticFlowRule.

◆ operator=()

BorjaCamClayPlasticFlowRule & Kratos::BorjaCamClayPlasticFlowRule::operator= ( BorjaCamClayPlasticFlowRule const &  rOther)

Assignment operator.

◆ ReturnStressFromPrincipalAxis()

void Kratos::BorjaCamClayPlasticFlowRule::ReturnStressFromPrincipalAxis ( const Matrix rEigenVectors,
const BoundedVector< double, 3 > &  rPrincipalStress,
Matrix rStressMatrix 
)
protected

◆ UpdateInternalVariables()

bool Kratos::BorjaCamClayPlasticFlowRule::UpdateInternalVariables ( RadialReturnVariables rReturnMappingVariables,
const Properties rProp 
)
overridevirtual

Reimplemented from Kratos::ParticleFlowRule.

◆ UpdateStateVariables()

void Kratos::BorjaCamClayPlasticFlowRule::UpdateStateVariables ( const BoundedVector< double, 3 >  rPrincipalStress,
const Properties rProp,
const double  rAlpha = 0.0,
const double  rConsistencyParameter = 0.0 
)
protected

Friends And Related Function Documentation

◆ Serializer

friend class Serializer
friend

Member Data Documentation

◆ mElasticPrincipalStrain

BoundedVector<double,3> Kratos::BorjaCamClayPlasticFlowRule::mElasticPrincipalStrain
protected

◆ mInitialVolumetricStrain

double Kratos::BorjaCamClayPlasticFlowRule::mInitialVolumetricStrain
protected

◆ mLargeStrainBool

bool Kratos::BorjaCamClayPlasticFlowRule::mLargeStrainBool
protected

◆ mMaterialParameters

MaterialParameters Kratos::BorjaCamClayPlasticFlowRule::mMaterialParameters
protected

◆ mPlasticPrincipalStrain

BoundedVector<double,3> Kratos::BorjaCamClayPlasticFlowRule::mPlasticPrincipalStrain
protected

◆ mPrincipalStressUpdated

BoundedVector<double,3> Kratos::BorjaCamClayPlasticFlowRule::mPrincipalStressUpdated
protected

◆ mRegion

unsigned int Kratos::BorjaCamClayPlasticFlowRule::mRegion
protected

◆ mStateFunction

double Kratos::BorjaCamClayPlasticFlowRule::mStateFunction
protected

◆ mStateFunctionFirstDerivative

Vector Kratos::BorjaCamClayPlasticFlowRule::mStateFunctionFirstDerivative
protected

◆ mStateFunctionSecondDerivative

Vector Kratos::BorjaCamClayPlasticFlowRule::mStateFunctionSecondDerivative
protected

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