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

Short class definition. More...

#include <mc_plastic_flow_rule.hpp>

Inheritance diagram for Kratos::MCPlasticFlowRule:
Collaboration diagram for Kratos::MCPlasticFlowRule:

Classes

struct  MaterialParameters
 

Public Member Functions

Type Definitions
 KRATOS_CLASS_POINTER_DEFINITION (MCPlasticFlowRule)
 Pointer definition of NonLinearAssociativePlasticFlowRule. More...
 
Life Cycle
 MCPlasticFlowRule ()
 Default constructor. More...
 
 MCPlasticFlowRule (YieldCriterionPointer pYieldCriterion)
 Initialization constructor. More...
 
 MCPlasticFlowRule (MCPlasticFlowRule const &rOther)
 Copy constructor. More...
 
MCPlasticFlowRuleoperator= (MCPlasticFlowRule const &rOther)
 Assignment operator. More...
 
ParticleFlowRule::Pointer Clone () const override
 
 ~MCPlasticFlowRule () 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)
 
virtual void ComputePlasticHardeningParameter (const BoundedVector< double, 3 > &rHenckyStrainVector, const double &rAlpha, double &rH)
 
bool CalculateConsistencyCondition (RadialReturnVariables &rReturnMappingVariables, const BoundedVector< double, 3 > &rPrincipalStress, const BoundedVector< double, 3 > &rPrincipalStrain, unsigned int &region, BoundedVector< double, 3 > &rPrincipalStressUpdated, const Properties &rProp)
 
void ComputeElasticMatrix_3X3 (const RadialReturnVariables &rReturnMappingVariables, BoundedMatrix< double, 3, 3 > &rElasticMatrix, const Properties &rProp)
 
void CalculateDepSurface (BoundedMatrix< double, 3, 3 > &rElasticMatrix, BoundedVector< double, 3 > &rFNorm, BoundedVector< double, 3 > &rGNorm, BoundedMatrix< double, 3, 3 > &rAuxDep)
 
void CalculateDepLine (BoundedMatrix< double, 3, 3 > &rInvD, BoundedVector< double, 3 > &rFNorm, BoundedVector< double, 3 > &rGNorm, BoundedMatrix< double, 3, 3 > &rAuxDep)
 
void CalculateElastoPlasticMatrix (const RadialReturnVariables &rReturnMappingVariables, unsigned int &rRegion, BoundedVector< double, 3 > &DiffPrincipalStress, BoundedMatrix< double, 6, 6 > &rDep, const Properties &rProp)
 
void ReturnStressFromPrincipalAxis (const BoundedMatrix< double, 3, 3 > &rEigenVectors, const BoundedVector< double, 3 > &rPrincipalStress, Matrix &rStressMatrix)
 
void CalculateInverseElasticMatrix (const RadialReturnVariables &rReturnMappingVariables, BoundedMatrix< double, 3, 3 > &rInverseElasticMatrix, const Properties &rProp)
 
void CalculateElasticMatrix (const RadialReturnVariables &rReturnMappingVariables, Matrix &rElasticMatrix, const Properties &rProp)
 
void CalculateModificationMatrix (const RadialReturnVariables &rReturnMappingVariables, BoundedMatrix< double, 3, 3 > &rAuxT, BoundedMatrix< double, 3, 3 > &rInvAuxT)
 
void CalculateTransformationMatrix (const BoundedMatrix< double, 3, 3 > &rMainDirection, BoundedMatrix< double, 6, 6 > &rA)
 
- 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 > mElasticPreviousPrincipalStrain
 
BoundedVector< double, 3 > mPrincipalStressTrial
 
BoundedVector< double, 3 > mPrincipalStressUpdated
 
unsigned int mRegion
 
bool mLargeStrainBool
 
double mEquivalentPlasticStrain
 
MaterialParameters mMaterialParameters
 
- 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

◆ MCPlasticFlowRule() [1/3]

Kratos::MCPlasticFlowRule::MCPlasticFlowRule ( )

Default constructor.

◆ MCPlasticFlowRule() [2/3]

Kratos::MCPlasticFlowRule::MCPlasticFlowRule ( YieldCriterionPointer  pYieldCriterion)

Initialization constructor.

◆ MCPlasticFlowRule() [3/3]

Kratos::MCPlasticFlowRule::MCPlasticFlowRule ( MCPlasticFlowRule const &  rOther)

Copy constructor.

◆ ~MCPlasticFlowRule()

Kratos::MCPlasticFlowRule::~MCPlasticFlowRule ( )
override

Destructor.

Member Function Documentation

◆ CalculateConsistencyCondition()

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

◆ CalculateDepLine()

void Kratos::MCPlasticFlowRule::CalculateDepLine ( BoundedMatrix< double, 3, 3 > &  rInvD,
BoundedVector< double, 3 > &  rFNorm,
BoundedVector< double, 3 > &  rGNorm,
BoundedMatrix< double, 3, 3 > &  rAuxDep 
)
protected

◆ CalculateDepSurface()

void Kratos::MCPlasticFlowRule::CalculateDepSurface ( BoundedMatrix< double, 3, 3 > &  rElasticMatrix,
BoundedVector< double, 3 > &  rFNorm,
BoundedVector< double, 3 > &  rGNorm,
BoundedMatrix< double, 3, 3 > &  rAuxDep 
)
protected

◆ CalculateElasticMatrix()

void Kratos::MCPlasticFlowRule::CalculateElasticMatrix ( const RadialReturnVariables rReturnMappingVariables,
Matrix rElasticMatrix,
const Properties rProp 
)
protected

◆ CalculateElastoPlasticMatrix()

void Kratos::MCPlasticFlowRule::CalculateElastoPlasticMatrix ( const RadialReturnVariables rReturnMappingVariables,
unsigned int rRegion,
BoundedVector< double, 3 > &  DiffPrincipalStress,
BoundedMatrix< double, 6, 6 > &  rDep,
const Properties rProp 
)
protected

◆ CalculateInverseElasticMatrix()

void Kratos::MCPlasticFlowRule::CalculateInverseElasticMatrix ( const RadialReturnVariables rReturnMappingVariables,
BoundedMatrix< double, 3, 3 > &  rInverseElasticMatrix,
const Properties rProp 
)
protected

◆ CalculateModificationMatrix()

void Kratos::MCPlasticFlowRule::CalculateModificationMatrix ( const RadialReturnVariables rReturnMappingVariables,
BoundedMatrix< double, 3, 3 > &  rAuxT,
BoundedMatrix< double, 3, 3 > &  rInvAuxT 
)
protected

◆ CalculatePrincipalStressTrial()

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

Reimplemented from Kratos::ParticleFlowRule.

◆ CalculateReturnMapping()

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

Reimplemented from Kratos::ParticleFlowRule.

◆ CalculateTransformationMatrix()

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

◆ Clone()

ParticleFlowRule::Pointer Kratos::MCPlasticFlowRule::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.

Reimplemented in Kratos::MCStrainSofteningPlasticFlowRule.

◆ ComputeElasticMatrix_3X3()

void Kratos::MCPlasticFlowRule::ComputeElasticMatrix_3X3 ( const RadialReturnVariables rReturnMappingVariables,
BoundedMatrix< double, 3, 3 > &  rElasticMatrix,
const Properties rProp 
)
protected

◆ ComputeElastoPlasticTangentMatrix()

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

Reimplemented from Kratos::ParticleFlowRule.

◆ ComputePlasticHardeningParameter()

void Kratos::MCPlasticFlowRule::ComputePlasticHardeningParameter ( const BoundedVector< double, 3 > &  rHenckyStrainVector,
const double rAlpha,
double rH 
)
protectedvirtual

◆ GetElasticLeftCauchyGreen()

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

Reimplemented from Kratos::ParticleFlowRule.

◆ GetPlasticRegion()

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

Reimplemented from Kratos::ParticleFlowRule.

◆ InitializeMaterial()

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

Reimplemented from Kratos::ParticleFlowRule.

◆ InitializeMaterialParameters()

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

◆ KRATOS_CLASS_POINTER_DEFINITION()

Kratos::MCPlasticFlowRule::KRATOS_CLASS_POINTER_DEFINITION ( MCPlasticFlowRule  )

Pointer definition of NonLinearAssociativePlasticFlowRule.

◆ operator=()

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

Assignment operator.

◆ ReturnStressFromPrincipalAxis()

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

◆ UpdateInternalVariables()

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

Friends And Related Function Documentation

◆ Serializer

friend class Serializer
friend

Member Data Documentation

◆ mElasticPreviousPrincipalStrain

BoundedVector<double,3> Kratos::MCPlasticFlowRule::mElasticPreviousPrincipalStrain
protected

◆ mElasticPrincipalStrain

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

◆ mEquivalentPlasticStrain

double Kratos::MCPlasticFlowRule::mEquivalentPlasticStrain
protected

◆ mLargeStrainBool

bool Kratos::MCPlasticFlowRule::mLargeStrainBool
protected

◆ mMaterialParameters

MaterialParameters Kratos::MCPlasticFlowRule::mMaterialParameters
protected

◆ mPlasticPrincipalStrain

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

◆ mPrincipalStressTrial

BoundedVector<double,3> Kratos::MCPlasticFlowRule::mPrincipalStressTrial
protected

◆ mPrincipalStressUpdated

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

◆ mRegion

unsigned int Kratos::MCPlasticFlowRule::mRegion
protected

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