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::GenericPlasticPotential< TVoigtSize > Class Template Reference

If the plastic potential is of the same type as the yield surface we talk about associated flow rules, if a different function is used, it is non-associated. For metals associated flow rules work great, while frictional materials typically need non-associated flow rules. More...

#include <generic_plastic_potential.h>

Collaboration diagram for Kratos::GenericPlasticPotential< TVoigtSize >:

Public Member Functions

Life Cycle
 GenericPlasticPotential ()
 Initialization constructor. More...
 
 GenericPlasticPotential (GenericPlasticPotential const &rOther)
 Copy constructor. More...
 
GenericPlasticPotentialoperator= (GenericPlasticPotential const &rOther)
 Assignment operator. More...
 
virtual ~GenericPlasticPotential ()
 Destructor. More...
 

Static Public Member Functions

Operations
static void CalculatePlasticPotentialDerivative (const array_1d< double, VoigtSize > &rPredictiveStressVector, const array_1d< double, VoigtSize > &rDeviator, const double J2, array_1d< double, VoigtSize > &rGFlux, ConstitutiveLaw::Parameters &rValues)
 This script calculates the derivatives of the plastic potential according to NAYAK-ZIENKIEWICZ paper International journal for numerical methods in engineering vol 113-135 1972. As: DF/DS = c1*V1 + c2*V2 + c3*V3. More...
 
static int Check (const Properties &rMaterialProperties)
 This method defines the check to be performed in the plastic potential. More...
 

Type Definitions

static constexpr SizeType Dimension = TVoigtSize == 6 ? 3 : 2
 We define the dimension. More...
 
static constexpr SizeType VoigtSize = TVoigtSize
 The define the Voigt size. More...
 
 KRATOS_CLASS_POINTER_DEFINITION (GenericPlasticPotential)
 Counted pointer of GenericPlasticPotential. More...
 

Detailed Description

template<SizeType TVoigtSize = 6>
class Kratos::GenericPlasticPotential< TVoigtSize >

If the plastic potential is of the same type as the yield surface we talk about associated flow rules, if a different function is used, it is non-associated. For metals associated flow rules work great, while frictional materials typically need non-associated flow rules.

This is a "template" plastic potential, please define properly your plastic potential

Template Parameters
TVoigtSizeThe number of components on the Voigt notation
Author
Alejandro Cornejo & Lucia Barbu

Constructor & Destructor Documentation

◆ GenericPlasticPotential() [1/2]

template<SizeType TVoigtSize = 6>
Kratos::GenericPlasticPotential< TVoigtSize >::GenericPlasticPotential ( )
inline

Initialization constructor.

◆ GenericPlasticPotential() [2/2]

template<SizeType TVoigtSize = 6>
Kratos::GenericPlasticPotential< TVoigtSize >::GenericPlasticPotential ( GenericPlasticPotential< TVoigtSize > const &  rOther)
inline

Copy constructor.

◆ ~GenericPlasticPotential()

template<SizeType TVoigtSize = 6>
virtual Kratos::GenericPlasticPotential< TVoigtSize >::~GenericPlasticPotential ( )
inlinevirtual

Destructor.

Member Function Documentation

◆ CalculatePlasticPotentialDerivative()

template<SizeType TVoigtSize = 6>
static void Kratos::GenericPlasticPotential< TVoigtSize >::CalculatePlasticPotentialDerivative ( const array_1d< double, VoigtSize > &  rPredictiveStressVector,
const array_1d< double, VoigtSize > &  rDeviator,
const double  J2,
array_1d< double, VoigtSize > &  rGFlux,
ConstitutiveLaw::Parameters rValues 
)
inlinestatic

This script calculates the derivatives of the plastic potential according to NAYAK-ZIENKIEWICZ paper International journal for numerical methods in engineering vol 113-135 1972. As: DF/DS = c1*V1 + c2*V2 + c3*V3.

Parameters
rPredictiveStressVectorThe predictive stress vector S = C:(E-Ep)
rDeviatorThe deviatoric part of the stress vector
J2The second invariant of the Deviator
rGFluxThe derivative of the plastic potential
rValuesParameters of the constitutive law

◆ Check()

template<SizeType TVoigtSize = 6>
static int Kratos::GenericPlasticPotential< TVoigtSize >::Check ( const Properties rMaterialProperties)
inlinestatic

This method defines the check to be performed in the plastic potential.

Returns
0 if OK, 1 otherwise

◆ KRATOS_CLASS_POINTER_DEFINITION()

template<SizeType TVoigtSize = 6>
Kratos::GenericPlasticPotential< TVoigtSize >::KRATOS_CLASS_POINTER_DEFINITION ( GenericPlasticPotential< TVoigtSize >  )

Counted pointer of GenericPlasticPotential.

◆ operator=()

template<SizeType TVoigtSize = 6>
GenericPlasticPotential& Kratos::GenericPlasticPotential< TVoigtSize >::operator= ( GenericPlasticPotential< TVoigtSize > const &  rOther)
inline

Assignment operator.

Member Data Documentation

◆ Dimension

template<SizeType TVoigtSize = 6>
constexpr SizeType Kratos::GenericPlasticPotential< TVoigtSize >::Dimension = TVoigtSize == 6 ? 3 : 2
staticconstexpr

We define the dimension.

◆ VoigtSize

template<SizeType TVoigtSize = 6>
constexpr SizeType Kratos::GenericPlasticPotential< TVoigtSize >::VoigtSize = TVoigtSize
staticconstexpr

The define the Voigt size.


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