Plugins
ug::SmallStrainMechanics::IMaterialLaw< TDomain > Class Template Referenceabstract

#include <mat_law_interface.h>

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

Public Types

typedef domain_traits< TDomain::dim >::grid_base_object TBaseElem
 base element type of associated domain More...
 

Public Member Functions

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 ()
 
virtual SmartPtr< MathTensor4< dim, dim, dim, dim > > elasticityTensor (const size_t ip, const MathMatrix< dim, dim > &GradU)=0
 
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 ()=0
 
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 MathMatrix< dim, dim > &GradU)=0
 
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
 

Static Public Attributes

static const int dim = TDomain::dim
 World dimension. More...
 

Protected Attributes

bool m_bConstElastTens
 flag indicating, if elasticity tensor is constant More...
 
bool m_bInit
 flag indicating, if material law has been initialized More...
 

Member Typedef Documentation

◆ TBaseElem

template<typename TDomain >
typedef domain_traits<TDomain::dim>::grid_base_object ug::SmallStrainMechanics::IMaterialLaw< TDomain >::TBaseElem

base element type of associated domain

Constructor & Destructor Documentation

◆ IMaterialLaw()

template<typename TDomain >
ug::SmallStrainMechanics::IMaterialLaw< TDomain >::IMaterialLaw ( )
inline

constructor

◆ ~IMaterialLaw()

template<typename TDomain >
virtual ug::SmallStrainMechanics::IMaterialLaw< TDomain >::~IMaterialLaw ( )
inlinevirtual

destructor

Member Function Documentation

◆ attach_internal_vars()

template<typename TDomain >
virtual void ug::SmallStrainMechanics::IMaterialLaw< TDomain >::attach_internal_vars ( typename TDomain::grid_type grid)
inlinevirtual

◆ clear_attachments()

template<typename TDomain >
virtual void ug::SmallStrainMechanics::IMaterialLaw< TDomain >::clear_attachments ( typename TDomain::grid_type grid)
inlinevirtual

◆ DisplacementGradient()

template<typename TDomain >
template<typename TFEGeom >
void ug::SmallStrainMechanics::IMaterialLaw< TDomain >::DisplacementGradient ( MathMatrix< dim, dim > &  GradU,
const size_t  ip,
const TFEGeom &  geo,
const LocalVector u 
)

References dim.

◆ elasticityTensor() [1/3]

◆ elasticityTensor() [2/3]

template<typename TDomain >
virtual SmartPtr<MathTensor4<dim,dim,dim,dim> > ug::SmallStrainMechanics::IMaterialLaw< TDomain >::elasticityTensor ( const size_t  ip,
const MathMatrix< dim, dim > &  GradU 
)
pure virtual

◆ elasticityTensor() [3/3]

template<typename TDomain >
virtual SmartPtr<MathTensor4<dim,dim,dim,dim> > ug::SmallStrainMechanics::IMaterialLaw< TDomain >::elasticityTensor ( const size_t  ip,
const MathVector< dim > &  x,
const MathMatrix< dim, dim > &  GradU 
)
inlinevirtual

◆ elastTensIsConstant()

template<typename TDomain >
bool ug::SmallStrainMechanics::IMaterialLaw< TDomain >::elastTensIsConstant ( )
inline

◆ hardening_parameter()

template<typename TDomain >
virtual number ug::SmallStrainMechanics::IMaterialLaw< TDomain >::hardening_parameter ( const size_t  ip)
inlinevirtual

◆ inelastic_strain_tensor()

template<typename TDomain >
virtual SmartPtr<MathMatrix<dim, dim> > ug::SmallStrainMechanics::IMaterialLaw< TDomain >::inelastic_strain_tensor ( const size_t  ip)
inlinevirtual

◆ init()

◆ init_internal_vars()

template<typename TDomain >
virtual void ug::SmallStrainMechanics::IMaterialLaw< TDomain >::init_internal_vars ( TBaseElem elem,
const size_t  numIP 
)
inlinevirtual

◆ internal_vars()

template<typename TDomain >
virtual void ug::SmallStrainMechanics::IMaterialLaw< TDomain >::internal_vars ( TBaseElem elem)
inlinevirtual

◆ is_initialized()

template<typename TDomain >
bool ug::SmallStrainMechanics::IMaterialLaw< TDomain >::is_initialized ( )
inline

◆ needs_to_add_jac_m()

template<typename TDomain >
virtual bool ug::SmallStrainMechanics::IMaterialLaw< TDomain >::needs_to_add_jac_m ( )
inlinevirtual

◆ plastic_multiplier()

template<typename TDomain >
virtual number ug::SmallStrainMechanics::IMaterialLaw< TDomain >::plastic_multiplier ( const size_t  ip,
const MathMatrix< dim, dim > &  GradU 
)
inlinevirtual

◆ stressTensor() [1/2]

template<typename TDomain >
virtual void ug::SmallStrainMechanics::IMaterialLaw< TDomain >::stressTensor ( MathMatrix< dim, dim > &  stressTens,
const size_t  ip,
const MathMatrix< dim, dim > &  GradU 
)
pure virtual

◆ stressTensor() [2/2]

template<typename TDomain >
virtual void ug::SmallStrainMechanics::IMaterialLaw< TDomain >::stressTensor ( MathMatrix< dim, dim > &  stressTens,
const size_t  ip,
const MathVector< dim > &  x,
const MathMatrix< dim, dim > &  GradU 
)
inlinevirtual

◆ update_internal_vars()

template<typename TDomain >
virtual void ug::SmallStrainMechanics::IMaterialLaw< TDomain >::update_internal_vars ( const size_t  ip,
const MathMatrix< dim, dim > &  GradU 
)
inlinevirtual

◆ write_data_to_console()

template<typename TDomain >
virtual void ug::SmallStrainMechanics::IMaterialLaw< TDomain >::write_data_to_console ( const number  t)
inlinevirtual

Member Data Documentation

◆ dim

template<typename TDomain >
const int ug::SmallStrainMechanics::IMaterialLaw< TDomain >::dim = TDomain::dim
static

World dimension.

◆ m_bConstElastTens

◆ m_bInit

template<typename TDomain >
bool ug::SmallStrainMechanics::IMaterialLaw< TDomain >::m_bInit
protected

◆ m_materialConfiguration

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

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