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 | List of all members
Kratos::NonAssociativeExplicitPlasticFlowRule Class Reference

Short class definition. More...

#include <non_associative_explicit_flow_rule.hpp>

Inheritance diagram for Kratos::NonAssociativeExplicitPlasticFlowRule:
Collaboration diagram for Kratos::NonAssociativeExplicitPlasticFlowRule:

Classes

struct  AuxiliarDerivativesStructure
 
struct  ExplicitStressUpdateInformation
 

Public Member Functions

Type Definitions
 KRATOS_CLASS_POINTER_DEFINITION (NonAssociativeExplicitPlasticFlowRule)
 Pointer definition of NonLinearAssociativePlasticFlowRule. More...
 
Life Cycle
 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...
 
Operators
FlowRule::Pointer Clone () const override
 CLONE. More...
 
Operations
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
 
virtual void ComputeElasticMatrix (const Vector &rElasticStrainVector, Matrix &rElasticMatrix)
 
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
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)
 
virtual void CalculateKirchhoffStressVector (const Vector &rElasticHenckyStrain, Vector &rNewStressVector)
 
virtual void ComputePlasticHardeningParameter (const Vector &rStressVector, const double &rAlpha, double &rH)
 
Matrix ConvertHenckyStrainToCauchyGreenTensor (const Vector &rElasticHenckyStrain)
 
Vector ConvertCauchyGreenTensorToHenckyStrain (const Matrix &rCauchyGreenTensor)
 
void UpdateDerivatives (const Vector &rHenckyElasticStrain, AuxiliarDerivativesStructure &rAuxiliarDerivatives, const double &EquivalentPlasticStrian)
 
virtual void CalculatePlasticPotentialDerivatives (const Vector &rPrincipalStress, Vector &rFirstDerivative, Matrix &rSecondDerivative)
 
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)
 

Protected Attributes

Protected member Variables
double mPlasticMultiplierVelocity
 
- Protected Attributes inherited from Kratos::FlowRule
InternalVariables mInternalVariables
 
ThermalVariables mThermalVariables
 
YieldCriterionPointer mpYieldCriterion
 

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
 

Detailed Description

Short class definition.

Detail class definition.

Constructor & Destructor Documentation

◆ NonAssociativeExplicitPlasticFlowRule() [1/3]

Kratos::NonAssociativeExplicitPlasticFlowRule::NonAssociativeExplicitPlasticFlowRule ( )

Default constructor.

◆ NonAssociativeExplicitPlasticFlowRule() [2/3]

Kratos::NonAssociativeExplicitPlasticFlowRule::NonAssociativeExplicitPlasticFlowRule ( YieldCriterionPointer  pYieldCriterion)

Initialization constructor.

◆ NonAssociativeExplicitPlasticFlowRule() [3/3]

Kratos::NonAssociativeExplicitPlasticFlowRule::NonAssociativeExplicitPlasticFlowRule ( const NonAssociativeExplicitPlasticFlowRule rOther)

Copy constructor.

◆ ~NonAssociativeExplicitPlasticFlowRule()

Kratos::NonAssociativeExplicitPlasticFlowRule::~NonAssociativeExplicitPlasticFlowRule ( )
virtual

Destructor.

Member Function Documentation

◆ CalculateExplicitSolution()

void Kratos::NonAssociativeExplicitPlasticFlowRule::CalculateExplicitSolution ( const Matrix rDeltaDeformationGradient,
const Matrix rPreviousElasticLeftCauchyGreen,
RadialReturnVariables rReturnMappingVariables,
Matrix rNewElasticLeftCauchyGreen,
Vector rNewStressVector,
const bool rElastoPlasticBool,
const double rTolerance 
)
protected

◆ CalculateExplicitSolutionWithChange()

void Kratos::NonAssociativeExplicitPlasticFlowRule::CalculateExplicitSolutionWithChange ( const Matrix rDeltaDeformationGradient,
const Matrix rPreviousElasticLeftCauchyGreen,
RadialReturnVariables rReturnMappingVariables,
Matrix rNewElasticLeftCauchyGreen,
Vector rNewStressVector,
const double rTolerance 
)
protected

◆ CalculateKirchhoffStressVector() [1/2]

void Kratos::NonAssociativeExplicitPlasticFlowRule::CalculateKirchhoffStressVector ( const Matrix rElasticLeftCauchyGreen,
Vector rStressVector 
)
protected

◆ CalculateKirchhoffStressVector() [2/2]

virtual void Kratos::NonAssociativeExplicitPlasticFlowRule::CalculateKirchhoffStressVector ( const Vector rElasticHenckyStrain,
Vector rNewStressVector 
)
inlineprotectedvirtual

◆ CalculateOneExplicitPlasticStep()

void Kratos::NonAssociativeExplicitPlasticFlowRule::CalculateOneExplicitPlasticStep ( const Matrix rDeltaDeformationGradient,
const Matrix rPreviousElasticLeftCauchyGreen,
const double rPreviousEquivalentPlasticStrain,
Matrix rNewElasticLeftCauchyGreen,
double rNewEquivalentPlasticStrain,
double rNewPlasticShearStrain,
double rDeltaPlastic 
)
protected

◆ CalculateOneExplicitStep()

void Kratos::NonAssociativeExplicitPlasticFlowRule::CalculateOneExplicitStep ( const Matrix rDeltaDeformationGradient,
const Matrix rPreviousElasticLeftCauchyGreen,
const RadialReturnVariables rReturnMappingVariables,
Matrix rNewElasticLeftCauchyGreen,
Vector rNewStressVector,
const bool rElastoPlasticBool,
ExplicitStressUpdateInformation rStressUpdateInformation 
)
protected

◆ CalculatePlasticPotentialDerivatives()

virtual void Kratos::NonAssociativeExplicitPlasticFlowRule::CalculatePlasticPotentialDerivatives ( const Vector rPrincipalStress,
Vector rFirstDerivative,
Matrix rSecondDerivative 
)
inlineprotectedvirtual

◆ CalculateReturnMapping()

bool Kratos::NonAssociativeExplicitPlasticFlowRule::CalculateReturnMapping ( RadialReturnVariables rReturnMappingVariables,
const Matrix rIncrementalDeformationGradient,
Matrix rStressMatrix,
Matrix rNewElasticLeftCauchyGreen 
)
overridevirtual

Reimplemented from Kratos::FlowRule.

◆ CalculateReturnMappingExpl()

bool Kratos::NonAssociativeExplicitPlasticFlowRule::CalculateReturnMappingExpl ( RadialReturnVariables rReturnMappingVariables,
const Matrix rIncrementalDeformationGradient,
Matrix rStressMatrix,
Matrix rNewElasticLeftCauchyGreen 
)
virtual

◆ CalculateReturnMappingImpl()

bool Kratos::NonAssociativeExplicitPlasticFlowRule::CalculateReturnMappingImpl ( RadialReturnVariables rReturnMappingVariables,
const Matrix rIncrementalDeformationGradient,
Matrix rStressMatrix,
Matrix rNewElasticLeftCauchyGreen 
)
virtual

◆ CalculateReturnMappingImplex()

bool Kratos::NonAssociativeExplicitPlasticFlowRule::CalculateReturnMappingImplex ( RadialReturnVariables rReturnMappingVariables,
const Matrix rIncrementalDeformationGradient,
Matrix rStressMatrix,
Matrix rNewElasticLeftCauchyGreen 
)
virtual

◆ CalculateReturnMappingImplex2()

bool Kratos::NonAssociativeExplicitPlasticFlowRule::CalculateReturnMappingImplex2 ( RadialReturnVariables rReturnMappingVariables,
const Matrix rIncrementalDeformationGradient,
Matrix rStressMatrix,
Matrix rNewElasticLeftCauchyGreen 
)
virtual

◆ Clone()

FlowRule::Pointer Kratos::NonAssociativeExplicitPlasticFlowRule::Clone ( ) const
overridevirtual

CLONE.

Reimplemented from Kratos::FlowRule.

Reimplemented in Kratos::TrescaExplicitFlowRule.

◆ ComputeElasticMatrix()

virtual void Kratos::NonAssociativeExplicitPlasticFlowRule::ComputeElasticMatrix ( const Vector rElasticStrainVector,
Matrix rElasticMatrix 
)
inlinevirtual

◆ ComputeElastoPlasticTangentMatrix()

void Kratos::NonAssociativeExplicitPlasticFlowRule::ComputeElastoPlasticTangentMatrix ( const RadialReturnVariables rReturnMappingVariables,
const Matrix rLeftCauchyGreenMatrix,
const double rAlpha,
Matrix rElasticMatrix 
)
overridevirtual

Reimplemented from Kratos::FlowRule.

◆ ComputeKirchhoffStressMatrix()

Matrix Kratos::NonAssociativeExplicitPlasticFlowRule::ComputeKirchhoffStressMatrix ( const Matrix rLeftCauchyGreenMatrix)
overridevirtual

Reimplemented from Kratos::FlowRule.

◆ ComputePlasticHardeningParameter()

virtual void Kratos::NonAssociativeExplicitPlasticFlowRule::ComputePlasticHardeningParameter ( const Vector rStressVector,
const double rAlpha,
double rH 
)
inlineprotectedvirtual

◆ ComputeSubstepIncrementalDeformationGradient()

void Kratos::NonAssociativeExplicitPlasticFlowRule::ComputeSubstepIncrementalDeformationGradient ( const Matrix rDeformationGradient,
const double rReferenceConfiguration,
const double rFinalConfiguration,
Matrix rIncrementalDeformationGradient 
)
protected

◆ ConvertCauchyGreenTensorToHenckyStrain()

Vector Kratos::NonAssociativeExplicitPlasticFlowRule::ConvertCauchyGreenTensorToHenckyStrain ( const Matrix rCauchyGreenTensor)
protected

◆ ConvertHenckyStrainToCauchyGreenTensor()

Matrix Kratos::NonAssociativeExplicitPlasticFlowRule::ConvertHenckyStrainToCauchyGreenTensor ( const Vector rElasticHenckyStrain)
protected

◆ EvaluateElastoPlasticUnloadingCondition()

bool & Kratos::NonAssociativeExplicitPlasticFlowRule::EvaluateElastoPlasticUnloadingCondition ( bool rUnloadingCondition,
const Matrix rElasticLeftCauchyGreen,
const Matrix rDeltaDeformationGradient,
const InternalVariables rPlasticVariables,
const double rTolerance 
)
protected

◆ InitializeMaterial() [1/2]

void Kratos::NonAssociativeExplicitPlasticFlowRule::InitializeMaterial ( const Properties rMaterialProperties)
overridevirtual

Reimplemented from Kratos::FlowRule.

◆ InitializeMaterial() [2/2]

void Kratos::NonAssociativeExplicitPlasticFlowRule::InitializeMaterial ( YieldCriterionPointer pYieldCriterion,
HardeningLawPointer pHardeningLaw,
const Properties rMaterialProperties 
)
overridevirtual

Reimplemented from Kratos::FlowRule.

◆ KRATOS_CLASS_POINTER_DEFINITION()

Kratos::NonAssociativeExplicitPlasticFlowRule::KRATOS_CLASS_POINTER_DEFINITION ( NonAssociativeExplicitPlasticFlowRule  )

Pointer definition of NonLinearAssociativePlasticFlowRule.

◆ MyCrossProduct()

Matrix Kratos::NonAssociativeExplicitPlasticFlowRule::MyCrossProduct ( const Matrix rM,
const Vector rA,
const Vector rB 
)
protected

◆ operator=()

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

Assignment operator.

◆ PerformSomeSortOfLineSearch()

void Kratos::NonAssociativeExplicitPlasticFlowRule::PerformSomeSortOfLineSearch ( Vector rHenckyElastic,
double rGamma,
double rAlpha,
const Vector rHenckyTrialElastic,
const double rAlphaTrial,
double rReidualNorm,
const double rPreviousError,
const Vector rDeltaX 
)
protected

◆ ReturnStressToYieldSurface()

void Kratos::NonAssociativeExplicitPlasticFlowRule::ReturnStressToYieldSurface ( RadialReturnVariables rReturnMappingVariables,
Matrix rElasticLeftCauchyGreen,
Vector rStressVector,
double rDrift,
const double rTolerance 
)
protected

◆ ReturnStressToYieldSurface4()

void Kratos::NonAssociativeExplicitPlasticFlowRule::ReturnStressToYieldSurface4 ( RadialReturnVariables rReturnMappingVariables,
Matrix rElasticLeftCauchyGreen,
Vector rStressVector,
double rDrift,
const double rTolerance 
)
protected

◆ UpdateDerivatives()

void Kratos::NonAssociativeExplicitPlasticFlowRule::UpdateDerivatives ( const Vector rHenckyElasticStrain,
AuxiliarDerivativesStructure rAuxiliarDerivatives,
const double EquivalentPlasticStrian 
)
protected

◆ UpdateInternalVariables()

bool Kratos::NonAssociativeExplicitPlasticFlowRule::UpdateInternalVariables ( RadialReturnVariables rReturnMappingVariables)
overridevirtual

Reimplemented from Kratos::FlowRule.

◆ UpdateRadialReturnVariables()

void Kratos::NonAssociativeExplicitPlasticFlowRule::UpdateRadialReturnVariables ( RadialReturnVariables rReturnMappingVariables,
const ExplicitStressUpdateInformation rStressUpdateInformation 
)
protected

Friends And Related Function Documentation

◆ Serializer

friend class Serializer
friend

Member Data Documentation

◆ mPlasticMultiplierVelocity

double Kratos::NonAssociativeExplicitPlasticFlowRule::mPlasticMultiplierVelocity
protected

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