33 #ifndef PRANDTL_REUSS_H_
34 #define PRANDTL_REUSS_H_
37 namespace SmallStrainMechanics{
67 template <
typename TDomain>
105 std::stringstream ss; ss <<
m_materialConfiguration <<
" initial flow-stress K_0 = " << initialFlowStress <<
"\n";
110 std::stringstream ss; ss <<
m_materialConfiguration <<
" residual flow-stress (saturation stress) K_inf = " << resFlowStress <<
"\n";
128 std::stringstream ss; ss <<
m_materialConfiguration <<
" accuracy of the tangent approximation = " << tanAccur <<
"\n";
159 return spInelasticStrain;
Definition: mat_law_interface.h:44
static const int dim
World dimension.
Definition: mat_law_interface.h:47
virtual SmartPtr< MathTensor4< dim, dim, dim, dim > > elasticityTensor()
Definition: mat_law_interface.h:84
std::string m_materialConfiguration
Definition: mat_law_interface.h:124
domain_traits< TDomain::dim >::grid_base_object TBaseElem
base element type of associated domain
Definition: mat_law_interface.h:50
Definition: prandtl_reuss.h:70
std::string m_materialConfiguration
Definition: mat_law_interface.h:124
PrandtlReuss()
constructor
Definition: prandtl_reuss_impl.h:53
void set_tangent_precision(const number tanAccur)
set precision of numerical approximation of the tangent
Definition: prandtl_reuss.h:126
MathMatrix< dim, dim > strain_p_old_t
Definition: prandtl_reuss.h:223
number K_0
Definition: prandtl_reuss.h:251
virtual number hardening_parameter(const size_t ip)
Definition: prandtl_reuss.h:161
void set_initial_flow_stress(const number initialFlowStress)
Definition: prandtl_reuss.h:103
number m_min_k_tan
Definition: prandtl_reuss.h:266
number Hardening(const number alpha)
Definition: prandtl_reuss_impl.h:480
void strainTensor(MathMatrix< dim, dim > &strainTens, const MathMatrix< dim, dim > &GradU)
Definition: prandtl_reuss_impl.h:318
ElemDataAccessor m_aaElemData
Definition: prandtl_reuss.h:241
void ConstLaw(MathMatrix< dim, dim > &stressTens, const MathMatrix< dim, dim > &strainTens, const MathMatrix< dim, dim > &strial, const number &gamma, const MathMatrix< dim, dim > &normal)
Definition: prandtl_reuss_impl.h:394
void set_hardening_behavior(int hard)
Definition: prandtl_reuss_impl.h:78
~PrandtlReuss()
Destructor.
Definition: prandtl_reuss.h:90
number Hard
Definition: prandtl_reuss.h:253
Attachment< ElemData > AElemData
Definition: prandtl_reuss.h:237
void set_residual_flow_stress(const number resFlowStress)
Definition: prandtl_reuss.h:108
number m_HardAccuracy
Definition: prandtl_reuss.h:246
number m_tangentAccur
tangent accuracy
Definition: prandtl_reuss.h:258
std::vector< InternalVars > internalVars
Definition: prandtl_reuss.h:231
number omega
Definition: prandtl_reuss.h:254
size_t m_MaxHardIter
Definition: prandtl_reuss.h:245
bool m_bHardModulus
flags indicating if hardening variables are set
Definition: prandtl_reuss.h:261
void StressTensor(MathMatrix< dim, dim > &stressTens, const MathMatrix< dim, dim > &GradU, const MathMatrix< dim, dim > &strain_p_old_t, const number alpha)
Definition: prandtl_reuss_impl.h:135
bool m_bHardExp
Definition: prandtl_reuss.h:262
virtual void attach_internal_vars(typename TDomain::grid_type &grid)
use this method to make sure that all required attachments are attached
Definition: prandtl_reuss.h:168
struct ug::SmallStrainMechanics::PrandtlReuss::MaterialConstants matConsts
virtual void update_internal_vars(const size_t ip, const MathMatrix< dim, dim > &GradU)
Definition: prandtl_reuss_impl.h:245
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)
Definition: prandtl_reuss_impl.h:328
void set_hardening_exponent(const number hardExponent)
Definition: prandtl_reuss.h:118
void set_shear_modulus(const number shearModulus)
Definition: prandtl_reuss.h:98
ElemData * m_pElemData
Definition: prandtl_reuss.h:234
number ExponentialHardening(const number strialnorm, const number alpha)
Definition: prandtl_reuss_impl.h:518
number PerfectPlasticity(const number flowcondtrial)
Definition: prandtl_reuss_impl.h:501
AElemData m_aElemData
Definition: prandtl_reuss.h:238
virtual void write_data_to_console(const number t)
Definition: prandtl_reuss_impl.h:540
number alpha
Definition: prandtl_reuss.h:226
base_type::TBaseElem TBaseElem
base element type
Definition: prandtl_reuss.h:83
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'
Definition: prandtl_reuss_impl.h:148
virtual void clear_attachments(typename TDomain::grid_type &grid)
Definition: prandtl_reuss.h:177
number Hardening_d(const number alpha)
Definition: prandtl_reuss_impl.h:491
void set_hardening_modulus(const number hardModulus)
Definition: prandtl_reuss.h:113
PrandtlReuss< TDomain > this_type
own type
Definition: prandtl_reuss.h:76
number kappa
Definition: prandtl_reuss.h:250
number K_inf
Definition: prandtl_reuss.h:252
virtual bool needs_to_add_jac_m()
Definition: prandtl_reuss.h:146
number m_max_k_tan
max condition number for numerical approximated matrix
Definition: prandtl_reuss.h:265
virtual SmartPtr< MathMatrix< dim, dim > > inelastic_strain_tensor(const size_t ip)
Definition: prandtl_reuss.h:156
virtual void internal_vars(TBaseElem *elem)
Definition: prandtl_reuss_impl.h:237
number mu
Definition: prandtl_reuss.h:249
virtual number plastic_multiplier(const size_t ip, const MathMatrix< dim, dim > &GradU)
Definition: prandtl_reuss_impl.h:414
static const int dim
World dimension.
Definition: prandtl_reuss.h:80
IMaterialLaw< TDomain > base_type
Base class type.
Definition: prandtl_reuss.h:73
number LinearHardening(const number flowcondtrial)
Definition: prandtl_reuss_impl.h:510
void set_bulk_modulus(const number bulkModulus)
set-methods for material constants
Definition: prandtl_reuss.h:93
int m_hardening
hardening behavior
Definition: prandtl_reuss.h:244
virtual void init_internal_vars(TBaseElem *elem, const size_t numIP)
Definition: prandtl_reuss_impl.h:217
void init()
Definition: prandtl_reuss_impl.h:113
Grid::AttachmentAccessor< TBaseElem, AElemData > ElemDataAccessor
Definition: prandtl_reuss.h:240
size_t m_plasticIPs
Definition: prandtl_reuss.h:267
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)
Definition: prandtl_reuss_impl.h:260
Definition: prandtl_reuss.h:230
attached ElemData
Definition: prandtl_reuss.h:221
Definition: prandtl_reuss.h:248