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::BorjaCamClayExplicitFlowRule Class Reference

Short class definition. More...

#include <borja_cam_clay_explicit_plastic_flow_rule.hpp>

Inheritance diagram for Kratos::BorjaCamClayExplicitFlowRule:
Collaboration diagram for Kratos::BorjaCamClayExplicitFlowRule:

Public Member Functions

Type Definitions
 KRATOS_CLASS_POINTER_DEFINITION (BorjaCamClayExplicitFlowRule)
 Pointer definition of NonLinearAssociativePlasticFlowRule. More...
 
Life Cycle
 BorjaCamClayExplicitFlowRule ()
 Default constructor. More...
 
 BorjaCamClayExplicitFlowRule (YieldCriterionPointer pYieldCriterion)
 Initialization constructor. More...
 
 BorjaCamClayExplicitFlowRule (BorjaCamClayExplicitFlowRule const &rOther)
 Copy constructor. More...
 
BorjaCamClayExplicitFlowRuleoperator= (BorjaCamClayExplicitFlowRule const &rOther)
 Assignment operator. More...
 
FlowRule::Pointer Clone () const override
 
virtual ~BorjaCamClayExplicitFlowRule ()
 Destructor. More...
 
Operations
virtual void EvaluateMeanStress (const double &rVolumetricStrain, const Vector &rDeviatoricStrainVector, double &rMeanStress)
 
virtual void EvaluateDeviatoricStress (const double &rVolumetricStrain, const Vector &rDeviatoricStrainVector, Vector &rDeviatoricStress)
 
void ComputeElasticMatrix (const Vector &rElasticStrainVector, Matrix &rElasticMatrix) override
 
- Public Member Functions inherited from Kratos::NonAssociativeExplicitPlasticFlowRule
 KRATOS_CLASS_POINTER_DEFINITION (NonAssociativeExplicitPlasticFlowRule)
 Pointer definition of NonLinearAssociativePlasticFlowRule. More...
 
 NonAssociativeExplicitPlasticFlowRule ()
 Default constructor. More...
 
 NonAssociativeExplicitPlasticFlowRule (YieldCriterionPointer pYieldCriterion)
 Initialization constructor. More...
 
 NonAssociativeExplicitPlasticFlowRule (const NonAssociativeExplicitPlasticFlowRule &rOther)
 Copy constructor. More...
 
NonAssociativeExplicitPlasticFlowRuleoperator= (NonAssociativeExplicitPlasticFlowRule const &rOther)
 Assignment operator. More...
 
virtual ~NonAssociativeExplicitPlasticFlowRule ()
 Destructor. More...
 
FlowRule::Pointer Clone () const override
 CLONE. More...
 
void InitializeMaterial (YieldCriterionPointer &pYieldCriterion, HardeningLawPointer &pHardeningLaw, const Properties &rMaterialProperties) override
 
void InitializeMaterial (const Properties &rMaterialProperties) override
 
virtual bool CalculateReturnMappingImpl (RadialReturnVariables &rReturnMappingVariables, const Matrix &rIncrementalDeformationGradient, Matrix &rStressMatrix, Matrix &rNewElasticLeftCauchyGreen)
 
virtual bool CalculateReturnMappingExpl (RadialReturnVariables &rReturnMappingVariables, const Matrix &rIncrementalDeformationGradient, Matrix &rStressMatrix, Matrix &rNewElasticLeftCauchyGreen)
 
bool CalculateReturnMapping (RadialReturnVariables &rReturnMappingVariables, const Matrix &rIncrementalDeformationGradient, Matrix &rStressMatrix, Matrix &rNewElasticLeftCauchyGreen) override
 
virtual bool CalculateReturnMappingImplex (RadialReturnVariables &rReturnMappingVariables, const Matrix &rIncrementalDeformationGradient, Matrix &rStressMatrix, Matrix &rNewElasticLeftCauchyGreen)
 
virtual bool CalculateReturnMappingImplex2 (RadialReturnVariables &rReturnMappingVariables, const Matrix &rIncrementalDeformationGradient, Matrix &rStressMatrix, Matrix &rNewElasticLeftCauchyGreen)
 
bool UpdateInternalVariables (RadialReturnVariables &rReturnMappingVariables) override
 
void ComputeElastoPlasticTangentMatrix (const RadialReturnVariables &rReturnMappingVariables, const Matrix &rLeftCauchyGreenMatrix, const double &rAlpha, Matrix &rElasticMatrix) override
 
Matrix ComputeKirchhoffStressMatrix (const Matrix &rLeftCauchyGreenMatrix) override
 
- Public Member Functions inherited from Kratos::FlowRule
 FlowRule ()
 Default constructor. More...
 
 FlowRule (YieldCriterionPointer pYieldCriterion)
 Initialization constructor. More...
 
 FlowRule (FlowRule const &rOther)
 Copy constructor. More...
 
FlowRuleoperator= (FlowRule const &rOther)
 Assignment operator. More...
 
virtual ~FlowRule ()
 Destructor. More...
 
 FlowRule ()
 Default constructor. More...
 
 FlowRule (YieldCriterionPointer pYieldCriterion)
 Initialization constructor. More...
 
 FlowRule (FlowRule const &rOther)
 Copy constructor. More...
 
FlowRuleoperator= (FlowRule const &rOther)
 Assignment operator. More...
 
virtual ~FlowRule ()
 Destructor. More...
 
const PropertiesGetProperties ()
 
const InternalVariablesGetInternalVariables ()
 
InternalVariablesSetInternalVariables ()
 
const ThermalVariablesGetThermalVariables ()
 
virtual bool CalculateReturnMapping (RadialReturnVariables &rReturnMappingVariables, Matrix &rIsoStressMatrix)
 
virtual void CalculateScalingFactors (const RadialReturnVariables &rReturnMappingVariables, PlasticFactors &rScalingFactors)
 
const PropertiesGetProperties ()
 
const InternalVariablesGetInternalVariables ()
 
InternalVariablesSetInternalVariables ()
 
const ThermalVariablesGetThermalVariables ()
 
virtual bool CalculateReturnMapping (RadialReturnVariables &rReturnMappingVariables, Matrix &rIsoStressMatrix)
 
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 (FlowRule)
 Pointer definition of FlowRule. More...
 
 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 (FlowRule)
 Pointer definition of FlowRule. More...
 

Protected Member Functions

Protected Operations
void CalculateKirchhoffStressVector (const Vector &rHencyStrainVector, Vector &rKirchhoffStressVector) override
 
void EvaluateMeanStress (const Vector &rHenckyStrainVector, double &rMeanStress)
 
void ComputePlasticHardeningParameter (const Vector &rHenckyStrainVector, const double &rAlpha, double &rH) override
 
void CalculatePlasticPotentialDerivatives (const Vector &rStressVector, Vector &rFirstDerivative, Matrix &rSecondDerivative) override
 
- Protected Member Functions inherited from Kratos::NonAssociativeExplicitPlasticFlowRule
Matrix MyCrossProduct (const Matrix &rM, const Vector &rA, const Vector &rB)
 
boolEvaluateElastoPlasticUnloadingCondition (bool &rUnloadingCondition, const Matrix &rElasticLeftCauchyGreen, const Matrix &rDeltaDeformationGradient, const InternalVariables &rPlasticVariables, const double &rTolerance)
 
void CalculateOneExplicitPlasticStep (const Matrix &rDeltaDeformationGradient, const Matrix &rPreviousElasticLeftCauchyGreen, const double &rPreviousEquivalentPlasticStrain, Matrix &rNewElasticLeftCauchyGreen, double &rNewEquivalentPlasticStrain, double &rNewPlasticShearStrain, double &rDeltaPlastic)
 
Matrix ConvertHenckyStrainToCauchyGreenTensor (const Vector &rElasticHenckyStrain)
 
Vector ConvertCauchyGreenTensorToHenckyStrain (const Matrix &rCauchyGreenTensor)
 
void UpdateDerivatives (const Vector &rHenckyElasticStrain, AuxiliarDerivativesStructure &rAuxiliarDerivatives, const double &EquivalentPlasticStrian)
 
void ComputeSubstepIncrementalDeformationGradient (const Matrix &rDeformationGradient, const double &rReferenceConfiguration, const double &rFinalConfiguration, Matrix &rIncrementalDeformationGradient)
 
void CalculateOneExplicitStep (const Matrix &rDeltaDeformationGradient, const Matrix &rPreviousElasticLeftCauchyGreen, const RadialReturnVariables &rReturnMappingVariables, Matrix &rNewElasticLeftCauchyGreen, Vector &rNewStressVector, const bool &rElastoPlasticBool, ExplicitStressUpdateInformation &rStressUpdateInformation)
 
void CalculateExplicitSolutionWithChange (const Matrix &rDeltaDeformationGradient, const Matrix &rPreviousElasticLeftCauchyGreen, RadialReturnVariables &rReturnMappingVariables, Matrix &rNewElasticLeftCauchyGreen, Vector &rNewStressVector, const double &rTolerance)
 
void CalculateExplicitSolution (const Matrix &rDeltaDeformationGradient, const Matrix &rPreviousElasticLeftCauchyGreen, RadialReturnVariables &rReturnMappingVariables, Matrix &rNewElasticLeftCauchyGreen, Vector &rNewStressVector, const bool &rElastoPlasticBool, const double &rTolerance)
 
void CalculateKirchhoffStressVector (const Matrix &rElasticLeftCauchyGreen, Vector &rStressVector)
 
void UpdateRadialReturnVariables (RadialReturnVariables &rReturnMappingVariables, const ExplicitStressUpdateInformation &rStressUpdateInformation)
 
void ReturnStressToYieldSurface4 (RadialReturnVariables &rReturnMappingVariables, Matrix &rElasticLeftCauchyGreen, Vector &rStressVector, double &rDrift, const double &rTolerance)
 
void ReturnStressToYieldSurface (RadialReturnVariables &rReturnMappingVariables, Matrix &rElasticLeftCauchyGreen, Vector &rStressVector, double &rDrift, const double &rTolerance)
 
void PerformSomeSortOfLineSearch (Vector &rHenckyElastic, double &rGamma, double &rAlpha, const Vector &rHenckyTrialElastic, const double &rAlphaTrial, double &rReidualNorm, const double &rPreviousError, const Vector &rDeltaX)
 
- Protected Member Functions inherited from Kratos::FlowRule
virtual doubleCalculateStressNorm (Matrix &rStressMatrix, double &rStressNorm)
 
virtual doubleCalculateStressNorm (Matrix &rStressMatrix, double &rStressNorm)
 

Serialization

class Serializer
 

Additional Inherited Members

- Public Types inherited from Kratos::FlowRule
typedef YieldCriterion::Pointer YieldCriterionPointer
 
typedef HardeningLaw::Pointer HardeningLawPointer
 
typedef const PropertiesPropertiesPointer
 
typedef YieldCriterion::Pointer YieldCriterionPointer
 
typedef HardeningLaw::Pointer HardeningLawPointer
 
typedef const PropertiesPropertiesPointer
 
- Protected Attributes inherited from Kratos::NonAssociativeExplicitPlasticFlowRule
double mPlasticMultiplierVelocity
 
- Protected Attributes inherited from Kratos::FlowRule
InternalVariables mInternalVariables
 
ThermalVariables mThermalVariables
 
YieldCriterionPointer mpYieldCriterion
 

Detailed Description

Short class definition.

Detail class definition.

Constructor & Destructor Documentation

◆ BorjaCamClayExplicitFlowRule() [1/3]

Kratos::BorjaCamClayExplicitFlowRule::BorjaCamClayExplicitFlowRule ( )

Default constructor.

◆ BorjaCamClayExplicitFlowRule() [2/3]

Kratos::BorjaCamClayExplicitFlowRule::BorjaCamClayExplicitFlowRule ( YieldCriterionPointer  pYieldCriterion)

Initialization constructor.

◆ BorjaCamClayExplicitFlowRule() [3/3]

Kratos::BorjaCamClayExplicitFlowRule::BorjaCamClayExplicitFlowRule ( BorjaCamClayExplicitFlowRule const &  rOther)

Copy constructor.

◆ ~BorjaCamClayExplicitFlowRule()

Kratos::BorjaCamClayExplicitFlowRule::~BorjaCamClayExplicitFlowRule ( )
virtual

Destructor.

Member Function Documentation

◆ CalculateKirchhoffStressVector()

void Kratos::BorjaCamClayExplicitFlowRule::CalculateKirchhoffStressVector ( const Vector rHencyStrainVector,
Vector rKirchhoffStressVector 
)
overrideprotectedvirtual

◆ CalculatePlasticPotentialDerivatives()

void Kratos::BorjaCamClayExplicitFlowRule::CalculatePlasticPotentialDerivatives ( const Vector rStressVector,
Vector rFirstDerivative,
Matrix rSecondDerivative 
)
overrideprotectedvirtual

◆ Clone()

FlowRule::Pointer Kratos::BorjaCamClayExplicitFlowRule::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::FlowRule.

◆ ComputeElasticMatrix()

void Kratos::BorjaCamClayExplicitFlowRule::ComputeElasticMatrix ( const Vector rElasticStrainVector,
Matrix rElasticMatrix 
)
overridevirtual

2.0;

2.0;

Reimplemented from Kratos::NonAssociativeExplicitPlasticFlowRule.

◆ ComputePlasticHardeningParameter()

void Kratos::BorjaCamClayExplicitFlowRule::ComputePlasticHardeningParameter ( const Vector rHenckyStrainVector,
const double rAlpha,
double rH 
)
overrideprotectedvirtual

◆ EvaluateDeviatoricStress()

void Kratos::BorjaCamClayExplicitFlowRule::EvaluateDeviatoricStress ( const double rVolumetricStrain,
const Vector rDeviatoricStrainVector,
Vector rDeviatoricStress 
)
virtual

◆ EvaluateMeanStress() [1/2]

void Kratos::BorjaCamClayExplicitFlowRule::EvaluateMeanStress ( const double rVolumetricStrain,
const Vector rDeviatoricStrainVector,
double rMeanStress 
)
virtual

◆ EvaluateMeanStress() [2/2]

void Kratos::BorjaCamClayExplicitFlowRule::EvaluateMeanStress ( const Vector rHenckyStrainVector,
double rMeanStress 
)
protected

◆ KRATOS_CLASS_POINTER_DEFINITION()

Kratos::BorjaCamClayExplicitFlowRule::KRATOS_CLASS_POINTER_DEFINITION ( BorjaCamClayExplicitFlowRule  )

Pointer definition of NonLinearAssociativePlasticFlowRule.

◆ operator=()

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

Assignment operator.

Friends And Related Function Documentation

◆ Serializer

friend class Serializer
friend

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