Plugins
|
#include <hooke.h>
Public Member Functions | |
virtual SmartPtr< MathTensor4< TDomain::dim, TDomain::dim, TDomain::dim, TDomain::dim > > | elasticityTensor () |
computes the elasticity tensor; commonly denoted by C More... | |
virtual SmartPtr< MathTensor4< TDomain::dim, TDomain::dim, TDomain::dim, TDomain::dim > > | elasticityTensor (const size_t ip, const MathMatrix< dim, dim > &GradU) |
HookeLaw () | |
constructor More... | |
virtual void | init () |
void | strainTensor (MathMatrix< dim, dim > &strainTens, const MathMatrix< dim, dim > &GradU) |
virtual 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... | |
~HookeLaw () | |
Destructor. More... | |
void | set_hooke_elasticity_tensor (const number lambda, const number mu) |
void | set_hooke_elasticity_tensor_E_nu (const number E, const number nu) |
void | set_hooke_elasticity_tensor_plain_stress_E_nu (const number E, const number nu) |
void | set_hooke_elasticity_tensor_plain_strain_E_nu (const number E, const number nu) |
void | set_elasticity_tensor_orthotropic (const number C11, const number C12, const number C13, const number C22, const number C23, const number C33, const number C44, const number C55, const number C66) |
void | set_elasticity_tensor_orthotropic_E_G_nu (const number E1, const number E2, const number E3, const number G12, const number G13, const number G23, const number v12, const number v13, const number v23) |
void | set_elasticity_tensor_orthotropic_plain_stress_E_G_nu (const number E1, const number E2, const number G12, const number v12) |
void | set_elasticity_tensor_orthotropic_plain_strain_E_G_nu (const number E1, const number E2, const number E3, const number G12, const number G13, const number G23, const number v12, const number v13, const number v23) |
Public Member Functions inherited from ug::SmallStrainMechanics::IMaterialLaw< TDomain > | |
virtual void | attach_internal_vars (typename TDomain::grid_type &grid) |
virtual void | clear_attachments (typename TDomain::grid_type &grid) |
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 (const size_t ip, const MathVector< dim > &x, const MathMatrix< dim, dim > &GradU) |
bool | elastTensIsConstant () |
virtual number | hardening_parameter (const size_t ip) |
IMaterialLaw () | |
constructor More... | |
virtual SmartPtr< MathMatrix< dim, dim > > | inelastic_strain_tensor (const size_t ip) |
virtual void | init_internal_vars (TBaseElem *elem, const size_t numIP) |
virtual void | internal_vars (TBaseElem *elem) |
bool | is_initialized () |
virtual bool | needs_to_add_jac_m () |
virtual number | plastic_multiplier (const size_t ip, const MathMatrix< dim, dim > &GradU) |
virtual void | stressTensor (MathMatrix< dim, dim > &stressTens, const size_t ip, const MathVector< dim > &x, const MathMatrix< dim, dim > &GradU) |
virtual void | update_internal_vars (const size_t ip, const MathMatrix< dim, dim > &GradU) |
virtual void | write_data_to_console (const number t) |
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... | |
Protected Attributes | |
SmartPtr< MathTensor4< dim, dim, dim, dim > > | m_spElastTensorFunct |
elasticity tensor More... | |
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... | |
Private Types | |
typedef IMaterialLaw< TDomain > | base_type |
Base class type. More... | |
Additional Inherited Members | |
Public Types inherited from ug::SmallStrainMechanics::IMaterialLaw< TDomain > | |
typedef domain_traits< TDomain::dim >::grid_base_object | TBaseElem |
base element type of associated domain More... | |
The classical material law to describe linear elastic behavior for isotropic, homogeneous materials. This law is based on the assumption of small strains, since only the linearized strain tensor (commonly denoted with \epsilon) is used. With $u$ being the displacement vector, the strain tensor \epsilon is defined by
\epsilon = \frac{1}{2}(\nabla u + (\nabla u)^T),
i.e. higher orders of the gradient of u are neglected here (-> 'linearized strain tensor').
Additionally Hooke`s law assumes a linear connection of stresses and strains. Therefore, the stresses \sigma are described by a law of the form,
\sigma = C : \epsilon
with C being a constant tensor of rank 4, called 'ElasticityTensor'. \sigma denotes the cauchy-stress tensor, which is, just like the strain tensor \epsilon, a symmetric tensor of rank 2. ':' denotes the tensor contraction, in components,
\sigma_{ij} = C_{ijkl} \epsilon{kl}.
int | dim |
References:
std::string ug::SmallStrainMechanics::IMaterialLaw< TDomain >::m_materialConfiguration |