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

This class defines a plastic potential following the theory of Von Mises. More...

#include <von_mises_plastic_potential.h>

Collaboration diagram for Kratos::VonMisesPlasticPotential< TVoigtSize >:

Public Member Functions

Life Cycle
 VonMisesPlasticPotential ()
 Initialization constructor. More...
 
 VonMisesPlasticPotential (VonMisesPlasticPotential const &rOther)
 Copy constructor. More...
 
VonMisesPlasticPotentialoperator= (VonMisesPlasticPotential const &rOther)
 Assignment operator. More...
 
virtual ~VonMisesPlasticPotential ()
 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 (VonMisesPlasticPotential)
 Counted pointer of VonMisesPlasticPotential. More...
 

Detailed Description

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

This class defines a plastic potential following the theory of Von Mises.

If the plastic potential is of vonMises (cylinder) type, on can see that the plastic strain increment tensor is in principle the scaled deviatoric stress tensor, hence principal directions coincide. When the yield and plastic potential surfaces are plotted in principal stress space the resulting surface will be a circular cylinder for Von-Mises. This means that both yield and strength are dependent on intermediate principal stress, sigma_2

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

Constructor & Destructor Documentation

◆ VonMisesPlasticPotential() [1/2]

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

Initialization constructor.

◆ VonMisesPlasticPotential() [2/2]

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

Copy constructor.

◆ ~VonMisesPlasticPotential()

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

Destructor.

Member Function Documentation

◆ CalculatePlasticPotentialDerivative()

template<SizeType TVoigtSize = 6>
static void Kratos::VonMisesPlasticPotential< 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::VonMisesPlasticPotential< 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::VonMisesPlasticPotential< TVoigtSize >::KRATOS_CLASS_POINTER_DEFINITION ( VonMisesPlasticPotential< TVoigtSize >  )

Counted pointer of VonMisesPlasticPotential.

◆ operator=()

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

Assignment operator.

Member Data Documentation

◆ Dimension

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

We define the dimension.

◆ VoigtSize

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

The define the Voigt size.


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