Plugins
ug::SmallStrainMechanics::PrandtlReuss< TDomain > Class Template Reference

#include <prandtl_reuss.h>

+ Inheritance diagram for ug::SmallStrainMechanics::PrandtlReuss< TDomain >:

Classes

struct  ElemData
 
struct  InternalVars
 attached ElemData More...
 
struct  MaterialConstants
 

Public Types

typedef base_type::TBaseElem TBaseElem
 base element type More...
 
- Public Types inherited from ug::SmallStrainMechanics::IMaterialLaw< TDomain >
typedef domain_traits< TDomain::dim >::grid_base_object TBaseElem
 base element type of associated domain More...
 

Public Member Functions

virtual void attach_internal_vars (typename TDomain::grid_type &grid)
 use this method to make sure that all required attachments are attached More...
 
virtual void clear_attachments (typename TDomain::grid_type &grid)
 
SmartPtr< MathTensor4< TDomain::dim, TDomain::dim, TDomain::dim, TDomain::dim > > elasticityTensor (const size_t ip, const MathMatrix< dim, dim > &GradU)
 computes the elasticity tensor; commonly denoted by C More...
 
virtual number hardening_parameter (const size_t ip)
 
virtual SmartPtr< MathMatrix< dim, dim > > inelastic_strain_tensor (const size_t ip)
 
void init ()
 
virtual void init_internal_vars (TBaseElem *elem, const size_t numIP)
 
virtual void internal_vars (TBaseElem *elem)
 
virtual bool needs_to_add_jac_m ()
 
virtual number plastic_multiplier (const size_t ip, const MathMatrix< dim, dim > &GradU)
 
 PrandtlReuss ()
 constructor More...
 
void set_bulk_modulus (const number bulkModulus)
 set-methods for material constants More...
 
void set_hardening_behavior (int hard)
 
void set_hardening_exponent (const number hardExponent)
 
void set_hardening_modulus (const number hardModulus)
 
void set_initial_flow_stress (const number initialFlowStress)
 
void set_residual_flow_stress (const number resFlowStress)
 
void set_shear_modulus (const number shearModulus)
 
void set_tangent_precision (const number tanAccur)
 set precision of numerical approximation of the tangent More...
 
void stressTensor (MathMatrix< dim, dim > &stressTens, const size_t ip, const MathMatrix< dim, dim > &GradU)
 computes the cauchy stress tensor sigma at an integration point 'ip' More...
 
virtual void update_internal_vars (const size_t ip, const MathMatrix< dim, dim > &GradU)
 
virtual void write_data_to_console (const number t)
 
 ~PrandtlReuss ()
 Destructor. More...
 
- Public Member Functions inherited from ug::SmallStrainMechanics::IMaterialLaw< TDomain >
template<typename TFEGeom >
void DisplacementGradient (MathMatrix< dim, dim > &GradU, const size_t ip, const TFEGeom &geo, const LocalVector &u)
 
virtual SmartPtr< MathTensor4< dim, dim, dim, dim > > elasticityTensor ()
 
virtual SmartPtr< MathTensor4< dim, dim, dim, dim > > elasticityTensor (const size_t ip, const MathVector< dim > &x, const MathMatrix< dim, dim > &GradU)
 
bool elastTensIsConstant ()
 
 IMaterialLaw ()
 constructor More...
 
bool is_initialized ()
 
virtual void stressTensor (MathMatrix< dim, dim > &stressTens, const size_t ip, const MathVector< dim > &x, const MathMatrix< dim, dim > &GradU)
 
virtual ~IMaterialLaw ()
 destructor More...
 

Public Attributes

std::string m_materialConfiguration
 
- Public Attributes inherited from ug::SmallStrainMechanics::IMaterialLaw< TDomain >
std::string m_materialConfiguration
 

Static Public Attributes

static const int dim = base_type::dim
 World dimension. More...
 
- Static Public Attributes inherited from ug::SmallStrainMechanics::IMaterialLaw< TDomain >
static const int dim = TDomain::dim
 World dimension. More...
 

Private Types

typedef Attachment< ElemDataAElemData
 
typedef IMaterialLaw< TDomain > base_type
 Base class type. More...
 
typedef Grid::AttachmentAccessor< TBaseElem, AElemDataElemDataAccessor
 
typedef PrandtlReuss< TDomain > this_type
 own type More...
 

Private Member Functions

void ConstLaw (MathMatrix< dim, dim > &stressTens, const MathMatrix< dim, dim > &strainTens, const MathMatrix< dim, dim > &strial, const number &gamma, const MathMatrix< dim, dim > &normal)
 
number ExponentialHardening (const number strialnorm, const number alpha)
 
void Flowrule (MathMatrix< dim, dim > &strain_p_new, MathMatrix< dim, dim > &strain, number &gamma, MathMatrix< dim, dim > &strial, MathMatrix< dim, dim > &normal, const MathMatrix< dim, dim > &GradU, const MathMatrix< dim, dim > &strain_p_old_t, const number alpha)
 
number Hardening (const number alpha)
 
number Hardening_d (const number alpha)
 
number LinearHardening (const number flowcondtrial)
 
number PerfectPlasticity (const number flowcondtrial)
 
void strainTensor (MathMatrix< dim, dim > &strainTens, const MathMatrix< dim, dim > &GradU)
 
void StressTensor (MathMatrix< dim, dim > &stressTens, const MathMatrix< dim, dim > &GradU, const MathMatrix< dim, dim > &strain_p_old_t, const number alpha)
 
void Update_internal_vars (MathMatrix< dim, dim > &strain_p_new, number &alpha, const MathMatrix< dim, dim > &GradU, const MathMatrix< dim, dim > &strain_p_old_t)
 

Private Attributes

ElemDataAccessor m_aaElemData
 
AElemData m_aElemData
 
bool m_bHardExp
 
bool m_bHardModulus
 flags indicating if hardening variables are set More...
 
number m_HardAccuracy
 
int m_hardening
 hardening behavior More...
 
number m_max_k_tan
 max condition number for numerical approximated matrix More...
 
size_t m_MaxHardIter
 
number m_min_k_tan
 
ElemDatam_pElemData
 
size_t m_plasticIPs
 
number m_tangentAccur
 tangent accuracy More...
 
struct ug::SmallStrainMechanics::PrandtlReuss::MaterialConstants matConsts
 

Additional Inherited Members

- Protected Attributes inherited from ug::SmallStrainMechanics::IMaterialLaw< TDomain >
bool m_bConstElastTens
 flag indicating, if elasticity tensor is constant More...
 
bool m_bInit
 flag indicating, if material law has been initialized More...
 

Detailed Description

template<typename TDomain>
class ug::SmallStrainMechanics::PrandtlReuss< TDomain >

This class implements a material law for small strain elastoplastic material behavior

It is supposed, that the linearized strain tensor could be decomposed additively:

eps = eps_e + eps_p.

The plastic behavior is described by a flow-condition and a flow-rule for the plastic evolution (\frac{\partial eps_p){\partial t} = ...). The flow-condition is of von-Mises-type and the flow-rule is associative. To treat the plastic equations we use the well-established return-mapping-algorithm. Its classical form is valid for the 3d-case and the plane strain-case, but not for the plane stress-case!

References:

  • J.C. Simo and T.J.R. Hughes. Computational Inelasticity. Springer, New York (1998), chapter 3.3.1
  • F.-J. Barthold, M. Schmidt and E. Stein. Error indicators and mesh refinements for
  • finite-element computations of elastoplastic deformations. Computational Mechanics Vol. 22, 225-238 (1998)
Template Parameters
TDomain

Member Data Documentation

◆ m_materialConfiguration


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