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

#include <skin_law.h>

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

Public Member Functions

virtual SmartPtr< MathTensor4< dim, dim, dim, dim > > elasticityTensor ()
 computes the elasticity tensor; commonly denoted by C More...
 
virtual SmartPtr< MathTensor4< dim, dim, dim, dim > > elasticityTensor (const size_t ip, const MathMatrix< dim, dim > &GradU)
 
virtual SmartPtr< MathTensor4< TDomain::dim, TDomain::dim, TDomain::dim, TDomain::dim > > elasticityTensor (const size_t ip, const MathVector< dim > &x, const MathMatrix< dim, dim > &GradU)
 
void init ()
 
 SkinMaterialLaw ()
 constructor 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...
 
void stressTensor (MathMatrix< dim, dim > &stressTens, const size_t ip, const MathVector< dim > &x, const MathMatrix< dim, dim > &GradU)
 
 ~SkinMaterialLaw ()
 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)
 
- 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)
 
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 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 = TDomain::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 IMaterialLaw< TDomain > base_type
 Base class type. More...
 

Private Member Functions

void strainTensor (MathMatrix< dim, dim > &strainTens, const MathMatrix< dim, dim > &GradU)
 

Private Attributes

SmartPtr< MathTensor4< dim, dim, dim, dim > > m_spElastTensorFunct
 elasticity tensor 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...
 
- 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::SkinMaterialLaw< TDomain >

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}.

Template Parameters
intdim

References:

  • D. Braess. Finite Elemente. Theorie, schnelle L�ser und Anwendungen in der
  • Elastizit�tstheorie, Springer

Member Data Documentation

◆ m_materialConfiguration

template<typename TDomain >
std::string ug::SmallStrainMechanics::IMaterialLaw< TDomain >::m_materialConfiguration

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