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

Short class definition. More...

#include <J2_explicit_plastic_flow_rule.hpp>

Inheritance diagram for Kratos::J2ExplicitFlowRule:
Collaboration diagram for Kratos::J2ExplicitFlowRule:

Public Member Functions

Type Definitions
 KRATOS_CLASS_POINTER_DEFINITION (J2ExplicitFlowRule)
 Pointer definition of NonLinearAssociativePlasticFlowRule. More...
 
Life Cycle
 J2ExplicitFlowRule ()
 Default constructor. More...
 
 J2ExplicitFlowRule (YieldCriterionPointer pYieldCriterion)
 Initialization constructor. More...
 
 J2ExplicitFlowRule (J2ExplicitFlowRule const &rOther)
 Copy constructor. More...
 
J2ExplicitFlowRuleoperator= (J2ExplicitFlowRule const &rOther)
 Assignment operator. More...
 
FlowRule::Pointer Clone () const override
 
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...
 
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 ComputeElasticMatrix (const Vector &rElasticStrainVector, Matrix &rElasticMatrix) override
 
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

◆ J2ExplicitFlowRule() [1/3]

Kratos::J2ExplicitFlowRule::J2ExplicitFlowRule ( )

Default constructor.

◆ J2ExplicitFlowRule() [2/3]

Kratos::J2ExplicitFlowRule::J2ExplicitFlowRule ( YieldCriterionPointer  pYieldCriterion)

Initialization constructor.

◆ J2ExplicitFlowRule() [3/3]

Kratos::J2ExplicitFlowRule::J2ExplicitFlowRule ( J2ExplicitFlowRule const &  rOther)

Copy constructor.

◆ ~J2ExplicitFlowRule()

Kratos::J2ExplicitFlowRule::~J2ExplicitFlowRule ( )
virtual

Destructor.

Member Function Documentation

◆ CalculateKirchhoffStressVector()

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

◆ CalculatePlasticPotentialDerivatives()

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

◆ Clone()

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

Reimplemented in Kratos::TrescaExplicitFlowRule.

◆ ComputeElasticMatrix()

void Kratos::J2ExplicitFlowRule::ComputeElasticMatrix ( const Vector rElasticStrainVector,
Matrix rElasticMatrix 
)
overrideprotectedvirtual

◆ ComputePlasticHardeningParameter()

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

◆ KRATOS_CLASS_POINTER_DEFINITION()

Kratos::J2ExplicitFlowRule::KRATOS_CLASS_POINTER_DEFINITION ( J2ExplicitFlowRule  )

Pointer definition of NonLinearAssociativePlasticFlowRule.

◆ operator=()

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