Plugins
|
#include <prandtl_reuss.h>
Classes | |
struct | ElemData |
struct | InternalVars |
attached ElemData More... | |
struct | MaterialConstants |
Public Types | |
typedef base_type::TBaseElem | TBaseElem |
base element type | |
![]() | |
typedef domain_traits< TDomain::dim >::grid_base_object | TBaseElem |
base element type of associated domain | |
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 | |
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 | |
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 | |
void | set_bulk_modulus (const number bulkModulus) |
set-methods for material constants | |
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 | |
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' | |
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. | |
![]() | |
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 | |
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 | |
Public Attributes | |
std::string | m_materialConfiguration |
![]() | |
std::string | m_materialConfiguration |
Static Public Attributes | |
static const int | dim = base_type::dim |
World dimension. | |
![]() | |
static const int | dim = TDomain::dim |
World dimension. | |
Private Types | |
typedef Attachment< ElemData > | AElemData |
typedef IMaterialLaw< TDomain > | base_type |
Base class type. | |
typedef Grid::AttachmentAccessor< TBaseElem, AElemData > | ElemDataAccessor |
typedef PrandtlReuss< TDomain > | this_type |
own type | |
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 | |
number | m_HardAccuracy |
int | m_hardening |
hardening behavior | |
number | m_max_k_tan |
max condition number for numerical approximated matrix | |
size_t | m_MaxHardIter |
number | m_min_k_tan |
ElemData * | m_pElemData |
size_t | m_plasticIPs |
number | m_tangentAccur |
tangent accuracy | |
struct ug::SmallStrainMechanics::PrandtlReuss::MaterialConstants | matConsts |
Additional Inherited Members | |
![]() | |
bool | m_bConstElastTens |
flag indicating, if elasticity tensor is constant | |
bool | m_bInit |
flag indicating, if material law has been initialized | |
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:
TDomain |
std::string ug::SmallStrainMechanics::IMaterialLaw< TDomain >::m_materialConfiguration |
Referenced by ug::SmallStrainMechanics::PrandtlReuss< TDomain >::PrandtlReuss(), ug::SmallStrainMechanics::PrandtlReuss< TDomain >::set_bulk_modulus(), ug::SmallStrainMechanics::PrandtlReuss< TDomain >::set_hardening_exponent(), ug::SmallStrainMechanics::PrandtlReuss< TDomain >::set_hardening_modulus(), ug::SmallStrainMechanics::PrandtlReuss< TDomain >::set_initial_flow_stress(), ug::SmallStrainMechanics::PrandtlReuss< TDomain >::set_residual_flow_stress(), ug::SmallStrainMechanics::PrandtlReuss< TDomain >::set_shear_modulus(), and ug::SmallStrainMechanics::PrandtlReuss< TDomain >::set_tangent_precision().