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

Short class definition. More...

#include <tresca_explicit_plastic_flow_rule.hpp>

Inheritance diagram for Kratos::TrescaExplicitFlowRule:
Collaboration diagram for Kratos::TrescaExplicitFlowRule:

Public Member Functions

Type Definitions
 KRATOS_CLASS_POINTER_DEFINITION (TrescaExplicitFlowRule)
 Pointer definition of NonLinearAssociativePlasticFlowRule. More...
 
Life Cycle
 TrescaExplicitFlowRule ()
 Default constructor. More...
 
 TrescaExplicitFlowRule (YieldCriterionPointer pYieldCriterion)
 Initialization constructor. More...
 
 TrescaExplicitFlowRule (TrescaExplicitFlowRule const &rOther)
 Copy constructor. More...
 
TrescaExplicitFlowRuleoperator= (TrescaExplicitFlowRule const &rOther)
 Assignment operator. More...
 
FlowRule::Pointer Clone () const override
 
virtual ~TrescaExplicitFlowRule ()
 Destructor. More...
 
- Public Member Functions inherited from Kratos::J2ExplicitFlowRule
 KRATOS_CLASS_POINTER_DEFINITION (J2ExplicitFlowRule)
 Pointer definition of NonLinearAssociativePlasticFlowRule. More...
 
 J2ExplicitFlowRule ()
 Default constructor. More...
 
 J2ExplicitFlowRule (YieldCriterionPointer pYieldCriterion)
 Initialization constructor. More...
 
 J2ExplicitFlowRule (J2ExplicitFlowRule const &rOther)
 Copy constructor. More...
 
J2ExplicitFlowRuleoperator= (J2ExplicitFlowRule const &rOther)
 Assignment operator. More...
 
virtual ~J2ExplicitFlowRule ()
 Destructor. More...
 
- 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...
 
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 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::J2ExplicitFlowRule
void CalculateKirchhoffStressVector (const Vector &rHencyStrainVector, Vector &rKirchhoffStressVector) override
 
void ComputeElasticMatrix (const Vector &rElasticStrainVector, Matrix &rElasticMatrix) 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

◆ TrescaExplicitFlowRule() [1/3]

Kratos::TrescaExplicitFlowRule::TrescaExplicitFlowRule ( )

Default constructor.

◆ TrescaExplicitFlowRule() [2/3]

Kratos::TrescaExplicitFlowRule::TrescaExplicitFlowRule ( YieldCriterionPointer  pYieldCriterion)

Initialization constructor.

◆ TrescaExplicitFlowRule() [3/3]

Kratos::TrescaExplicitFlowRule::TrescaExplicitFlowRule ( TrescaExplicitFlowRule const &  rOther)

Copy constructor.

◆ ~TrescaExplicitFlowRule()

Kratos::TrescaExplicitFlowRule::~TrescaExplicitFlowRule ( )
virtual

Destructor.

Member Function Documentation

◆ CalculatePlasticPotentialDerivatives()

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

Reimplemented from Kratos::J2ExplicitFlowRule.

◆ Clone()

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

◆ ComputePlasticHardeningParameter()

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

Reimplemented from Kratos::J2ExplicitFlowRule.

◆ KRATOS_CLASS_POINTER_DEFINITION()

Kratos::TrescaExplicitFlowRule::KRATOS_CLASS_POINTER_DEFINITION ( TrescaExplicitFlowRule  )

Pointer definition of NonLinearAssociativePlasticFlowRule.

◆ operator=()

TrescaExplicitFlowRule & Kratos::TrescaExplicitFlowRule::operator= ( TrescaExplicitFlowRule 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: