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

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

#include <tresca_plastic_potential.h>

Collaboration diagram for Kratos::TrescaPlasticPotential< TVoigtSize >:

Public Member Functions

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

Detailed Description

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

This class defines a plastic potential following the theory of Tresca.

Working from the conventional assumption that the strength is related to the difference between major and minor principal stresses results in the Tresca model for total stress. This gives a hexagonal form of the potential in the principal stress space

Author
Alejandro Cornejo & Lucia Barbu

Constructor & Destructor Documentation

◆ TrescaPlasticPotential() [1/2]

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

Initialization constructor.

◆ TrescaPlasticPotential() [2/2]

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

Copy constructor.

◆ ~TrescaPlasticPotential()

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

Destructor.

Member Function Documentation

◆ CalculatePlasticPotentialDerivative()

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

Counted pointer of TrescaPlasticPotential.

◆ operator=()

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

Assignment operator.

Member Data Documentation

◆ Dimension

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

We define the dimension.

◆ VoigtSize

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

The define the Voigt size.


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