33#ifndef MAT_LAW_INTERFACE_H_
34#define MAT_LAW_INTERFACE_H_
37namespace SmallStrainMechanics{
42template <
typename TDomain>
47 static const int dim = TDomain::dim;
108 return spInelasticStrain;
119 template <
typename TFEGeom>
Definition mat_law_interface.h:44
virtual SmartPtr< MathTensor4< dim, dim, dim, dim > > elasticityTensor(const size_t ip, const MathMatrix< dim, dim > &GradU)=0
static const int dim
World dimension.
Definition mat_law_interface.h:47
virtual number plastic_multiplier(const size_t ip, const MathMatrix< dim, dim > &GradU)
Definition mat_law_interface.h:111
virtual void init_internal_vars(TBaseElem *elem, const size_t numIP)
Definition mat_law_interface.h:97
bool m_bInit
flag indicating, if material law has been initialized
Definition mat_law_interface.h:128
void DisplacementGradient(MathMatrix< dim, dim > &GradU, const size_t ip, const TFEGeom &geo, const LocalVector &u)
Definition mat_law_interface_impl.h:45
virtual SmartPtr< MathMatrix< dim, dim > > inelastic_strain_tensor(const size_t ip)
Definition mat_law_interface.h:104
virtual void update_internal_vars(const size_t ip, const MathMatrix< dim, dim > &GradU)
Definition mat_law_interface.h:99
virtual SmartPtr< MathTensor4< dim, dim, dim, dim > > elasticityTensor(const size_t ip, const MathVector< dim > &x, const MathMatrix< dim, dim > &GradU)
Definition mat_law_interface.h:79
virtual void write_data_to_console(const number t)
Definition mat_law_interface.h:101
virtual void stressTensor(MathMatrix< dim, dim > &stressTens, const size_t ip, const MathMatrix< dim, dim > &GradU)=0
bool elastTensIsConstant()
Definition mat_law_interface.h:117
virtual void stressTensor(MathMatrix< dim, dim > &stressTens, const size_t ip, const MathVector< dim > &x, const MathMatrix< dim, dim > &GradU)
Definition mat_law_interface.h:69
virtual SmartPtr< MathTensor4< dim, dim, dim, dim > > elasticityTensor()
Definition mat_law_interface.h:84
IMaterialLaw()
constructor
Definition mat_law_interface.h:54
bool m_bConstElastTens
flag indicating, if elasticity tensor is constant
Definition mat_law_interface.h:131
virtual void clear_attachments(typename TDomain::grid_type &grid)
Definition mat_law_interface.h:95
virtual void internal_vars(TBaseElem *elem)
Definition mat_law_interface.h:98
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
bool is_initialized()
Definition mat_law_interface.h:115
virtual number hardening_parameter(const size_t ip)
Definition mat_law_interface.h:110
virtual void attach_internal_vars(typename TDomain::grid_type &grid)
Definition mat_law_interface.h:94
virtual bool needs_to_add_jac_m()
Definition mat_law_interface.h:88
virtual ~IMaterialLaw()
destructor
Definition mat_law_interface.h:57