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 | |
virtual SmartPtr< MathTensor4< TDomain::dim, TDomain::dim, TDomain::dim, TDomain::dim > > | elasticityTensor (const size_t ip, const MathMatrix< dim, dim > &GradU) |
HookeLaw () | |
constructor | |
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' | |
~HookeLaw () | |
Destructor. | |
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) |
![]() | |
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 | |
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 | |
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. | |
Protected Attributes | |
SmartPtr< MathTensor4< dim, dim, dim, dim > > | m_spElastTensorFunct |
elasticity tensor | |
![]() | |
bool | m_bConstElastTens |
flag indicating, if elasticity tensor is constant | |
bool | m_bInit |
flag indicating, if material law has been initialized | |
Private Types | |
typedef IMaterialLaw< TDomain > | base_type |
Base class type. | |
Additional Inherited Members | |
![]() | |
typedef domain_traits< TDomain::dim >::grid_base_object | TBaseElem |
base element type of associated domain | |
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 |