Plugins
Small Strain Mechanics

Classes

class  ug::SmallStrainMechanics::DamageLaw< TDomain >
 Material Law: More...
 
struct  ug::SmallStrainMechanics::PrandtlReuss< TDomain >::ElemData
 
struct  ug::SmallStrainMechanics::Functionality
 
class  ug::SmallStrainMechanics::HookeLaw< TDomain >
 
struct  ug::SmallStrainMechanics::PrandtlReuss< TDomain >::InternalVars
 attached ElemData More...
 
class  ug::SmallStrainMechanics::IScaledHookeLaw< TDomain >
 
struct  ug::SmallStrainMechanics::PrandtlReuss< TDomain >::MaterialConstants
 
class  ug::SmallStrainMechanics::MechOutputWriter< TDomain >
 
class  ug::SmallStrainMechanics::PrandtlReuss< TDomain >
 
class  ug::SmallStrainMechanics::SkinMaterialLaw< TDomain >
 
class  ug::SmallStrainMechanics::SmallStrainMechanicsElemDisc< TDomain >
 
class  ug::SmallStrainMechanics::TopologyOptimLaw< TDomain >
 Material Law: More...
 

Typedefs

typedef Attachment< ElemDataug::SmallStrainMechanics::PrandtlReuss< TDomain >::AElemData
 
typedef IMaterialLaw< TDomain > ug::SmallStrainMechanics::HookeLaw< TDomain >::base_type
 Base class type. More...
 
typedef IMaterialLaw< TDomain > ug::SmallStrainMechanics::PrandtlReuss< TDomain >::base_type
 Base class type. More...
 
typedef HookeLaw< TDomain > ug::SmallStrainMechanics::IScaledHookeLaw< TDomain >::base_type
 Base class type. More...
 
typedef IScaledHookeLaw< TDomain > ug::SmallStrainMechanics::DamageLaw< TDomain >::base_type
 Base class type. More...
 
typedef IScaledHookeLaw< TDomain > ug::SmallStrainMechanics::TopologyOptimLaw< TDomain >::base_type
 Base class type. More...
 
typedef IMaterialLaw< TDomain > ug::SmallStrainMechanics::SkinMaterialLaw< TDomain >::base_type
 Base class type. More...
 
typedef Grid::AttachmentAccessor< TBaseElem, AElemDataug::SmallStrainMechanics::PrandtlReuss< TDomain >::ElemDataAccessor
 
typedef base_type::TBaseElem ug::SmallStrainMechanics::PrandtlReuss< TDomain >::TBaseElem
 base element type More...
 
typedef base_type::TBaseElem ug::SmallStrainMechanics::IScaledHookeLaw< TDomain >::TBaseElem
 base element type More...
 
typedef base_type::TBaseElem ug::SmallStrainMechanics::DamageLaw< TDomain >::TBaseElem
 base element type More...
 
typedef base_type::TBaseElem ug::SmallStrainMechanics::TopologyOptimLaw< TDomain >::TBaseElem
 base element type More...
 
typedef PrandtlReuss< TDomain > ug::SmallStrainMechanics::PrandtlReuss< TDomain >::this_type
 own type More...
 
typedef IScaledHookeLaw< TDomain > ug::SmallStrainMechanics::IScaledHookeLaw< TDomain >::this_type
 own type More...
 
typedef DamageLaw< TDomain > ug::SmallStrainMechanics::DamageLaw< TDomain >::this_type
 own type More...
 
typedef TopologyOptimLaw< TDomain > ug::SmallStrainMechanics::TopologyOptimLaw< TDomain >::this_type
 own type More...
 

Functions

virtual void ug::SmallStrainMechanics::PrandtlReuss< TDomain >::attach_internal_vars (typename TDomain::grid_type &grid)
 use this method to make sure that all required attachments are attached More...
 
virtual void ug::SmallStrainMechanics::PrandtlReuss< TDomain >::clear_attachments (typename TDomain::grid_type &grid)
 
void ug::SmallStrainMechanics::PrandtlReuss< TDomain >::ConstLaw (MathMatrix< dim, dim > &stressTens, const MathMatrix< dim, dim > &strainTens, const MathMatrix< dim, dim > &strial, const number &gamma, const MathMatrix< dim, dim > &normal)
 
 ug::SmallStrainMechanics::DamageLaw< TDomain >::DamageLaw (SmartPtr< GridFunction< TDomain, CPUAlgebra > > spF, SmartPtr< GridFunction< TDomain, CPUAlgebra > > spPsi0)
 constructor More...
 
virtual SmartPtr< MathTensor4< TDomain::dim, TDomain::dim, TDomain::dim, TDomain::dim > > ug::SmallStrainMechanics::HookeLaw< TDomain >::elasticityTensor ()
 computes the elasticity tensor; commonly denoted by C More...
 
virtual SmartPtr< MathTensor4< dim, dim, dim, dim > > ug::SmallStrainMechanics::SkinMaterialLaw< TDomain >::elasticityTensor ()
 computes the elasticity tensor; commonly denoted by C More...
 
virtual SmartPtr< MathTensor4< TDomain::dim, TDomain::dim, TDomain::dim, TDomain::dim > > ug::SmallStrainMechanics::HookeLaw< TDomain >::elasticityTensor (const size_t ip, const MathMatrix< dim, dim > &GradU)
 
SmartPtr< MathTensor4< TDomain::dim, TDomain::dim, TDomain::dim, TDomain::dim > > ug::SmallStrainMechanics::PrandtlReuss< TDomain >::elasticityTensor (const size_t ip, const MathMatrix< dim, dim > &GradU)
 computes the elasticity tensor; commonly denoted by C More...
 
virtual SmartPtr< MathTensor4< dim, dim, dim, dim > > ug::SmallStrainMechanics::SkinMaterialLaw< TDomain >::elasticityTensor (const size_t ip, const MathMatrix< dim, dim > &GradU)
 
virtual SmartPtr< MathTensor4< TDomain::dim, TDomain::dim, TDomain::dim, TDomain::dim > > ug::SmallStrainMechanics::SkinMaterialLaw< TDomain >::elasticityTensor (const size_t ip, const MathVector< dim > &x, const MathMatrix< dim, dim > &GradU)
 
numberug::SmallStrainMechanics::IScaledHookeLaw< TDomain >::energy_on_curr_elem ()
 
template<typename TGridFunction >
void ug::SmallStrainMechanics::equiv_plast_strain (TGridFunction &eqPlastStrain, MechOutputWriter< typename TGridFunction::domain_type > &mechOut, TGridFunction &u)
 
number ug::SmallStrainMechanics::PrandtlReuss< TDomain >::ExponentialHardening (const number strialnorm, const number alpha)
 
void ug::SmallStrainMechanics::PrandtlReuss< TDomain >::Flowrule (MathMatrix< dim, dim > &strain_p_new, MathMatrix< dim, dim > &strain, number &gamma, MathMatrix< dim, dim > &strial, MathMatrix< dim, dim > &normal, const MathMatrix< dim, dim > &GradU, const MathMatrix< dim, dim > &strain_p_old_t, const number alpha)
 
number ug::SmallStrainMechanics::PrandtlReuss< TDomain >::Hardening (const number alpha)
 
number ug::SmallStrainMechanics::PrandtlReuss< TDomain >::Hardening_d (const number alpha)
 
virtual number ug::SmallStrainMechanics::PrandtlReuss< TDomain >::hardening_parameter (const size_t ip)
 
 ug::SmallStrainMechanics::HookeLaw< TDomain >::HookeLaw ()
 constructor More...
 
virtual SmartPtr< MathMatrix< dim, dim > > ug::SmallStrainMechanics::PrandtlReuss< TDomain >::inelastic_strain_tensor (const size_t ip)
 
virtual void ug::SmallStrainMechanics::HookeLaw< TDomain >::init ()
 
void ug::SmallStrainMechanics::PrandtlReuss< TDomain >::init ()
 
void ug::SmallStrainMechanics::SkinMaterialLaw< TDomain >::init ()
 
virtual void ug::SmallStrainMechanics::PrandtlReuss< TDomain >::init_internal_vars (TBaseElem *elem, const size_t numIP)
 
void ug::SmallStrainMechanics::IScaledHookeLaw< TDomain >::init_internal_vars (TBaseElem *elem, const size_t numIP)
 reset values explicitly More...
 
virtual void ug::SmallStrainMechanics::PrandtlReuss< TDomain >::internal_vars (TBaseElem *elem)
 
void ug::SmallStrainMechanics::IScaledHookeLaw< TDomain >::internal_vars (TBaseElem *elem)
 
template<typename TGridFunction >
void ug::SmallStrainMechanics::invariants_kirchhoff_stress (TGridFunction &invarKirchhoffStress, MechOutputWriter< typename TGridFunction::domain_type > &mechOut, TGridFunction &u)
 
 ug::SmallStrainMechanics::IScaledHookeLaw< TDomain >::IScaledHookeLaw (SmartPtr< GridFunction< TDomain, CPUAlgebra > > spScaling, SmartPtr< GridFunction< TDomain, CPUAlgebra > > spEnergy)
 constructor More...
 
number ug::SmallStrainMechanics::PrandtlReuss< TDomain >::LinearHardening (const number flowcondtrial)
 
virtual bool ug::SmallStrainMechanics::PrandtlReuss< TDomain >::needs_to_add_jac_m ()
 
template<typename TGridFunction >
void ug::SmallStrainMechanics::normal_stresses_strains (MechOutputWriter< typename TGridFunction::domain_type > &mechOut, TGridFunction &sigma, TGridFunction &epsilon, TGridFunction &stressFunc, TGridFunction &strainFunc, TGridFunction &u)
 
number ug::SmallStrainMechanics::PrandtlReuss< TDomain >::PerfectPlasticity (const number flowcondtrial)
 
template<typename TGridFunction >
void ug::SmallStrainMechanics::plast_ip (TGridFunction &plastIP, MechOutputWriter< typename TGridFunction::domain_type > &mechOut, TGridFunction &u)
 
virtual number ug::SmallStrainMechanics::PrandtlReuss< TDomain >::plastic_multiplier (const size_t ip, const MathMatrix< dim, dim > &GradU)
 
virtual void ug::SmallStrainMechanics::IScaledHookeLaw< TDomain >::post_process_energy_on_curr_elem ()
 
virtual void ug::SmallStrainMechanics::DamageLaw< TDomain >::post_process_energy_on_curr_elem ()
 
virtual void ug::SmallStrainMechanics::TopologyOptimLaw< TDomain >::post_process_energy_on_curr_elem ()
 
 ug::SmallStrainMechanics::PrandtlReuss< TDomain >::PrandtlReuss ()
 constructor More...
 
virtual number ug::SmallStrainMechanics::IScaledHookeLaw< TDomain >::scaling_on_curr_elem ()
 
virtual number ug::SmallStrainMechanics::TopologyOptimLaw< TDomain >::scaling_on_curr_elem ()
 
void ug::SmallStrainMechanics::PrandtlReuss< TDomain >::set_bulk_modulus (const number bulkModulus)
 set-methods for material constants More...
 
void ug::SmallStrainMechanics::PrandtlReuss< TDomain >::set_hardening_behavior (int hard)
 
void ug::SmallStrainMechanics::PrandtlReuss< TDomain >::set_hardening_exponent (const number hardExponent)
 
void ug::SmallStrainMechanics::PrandtlReuss< TDomain >::set_hardening_modulus (const number hardModulus)
 
void ug::SmallStrainMechanics::PrandtlReuss< TDomain >::set_initial_flow_stress (const number initialFlowStress)
 
void ug::SmallStrainMechanics::PrandtlReuss< TDomain >::set_residual_flow_stress (const number resFlowStress)
 
void ug::SmallStrainMechanics::PrandtlReuss< TDomain >::set_shear_modulus (const number shearModulus)
 
void ug::SmallStrainMechanics::PrandtlReuss< TDomain >::set_tangent_precision (const number tanAccur)
 set precision of numerical approximation of the tangent More...
 
 ug::SmallStrainMechanics::SkinMaterialLaw< TDomain >::SkinMaterialLaw ()
 constructor More...
 
void ug::SmallStrainMechanics::HookeLaw< TDomain >::strainTensor (MathMatrix< dim, dim > &strainTens, const MathMatrix< dim, dim > &GradU)
 
void ug::SmallStrainMechanics::PrandtlReuss< TDomain >::strainTensor (MathMatrix< dim, dim > &strainTens, const MathMatrix< dim, dim > &GradU)
 
void ug::SmallStrainMechanics::SkinMaterialLaw< TDomain >::strainTensor (MathMatrix< dim, dim > &strainTens, const MathMatrix< dim, dim > &GradU)
 
void ug::SmallStrainMechanics::PrandtlReuss< TDomain >::StressTensor (MathMatrix< dim, dim > &stressTens, const MathMatrix< dim, dim > &GradU, const MathMatrix< dim, dim > &strain_p_old_t, const number alpha)
 
virtual void ug::SmallStrainMechanics::HookeLaw< TDomain >::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 ug::SmallStrainMechanics::PrandtlReuss< TDomain >::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 ug::SmallStrainMechanics::SkinMaterialLaw< TDomain >::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 ug::SmallStrainMechanics::SkinMaterialLaw< TDomain >::stressTensor (MathMatrix< dim, dim > &stressTens, const size_t ip, const MathVector< dim > &x, const MathMatrix< dim, dim > &GradU)
 
 ug::SmallStrainMechanics::TopologyOptimLaw< TDomain >::TopologyOptimLaw (SmartPtr< GridFunction< TDomain, CPUAlgebra > > spChi, SmartPtr< GridFunction< TDomain, CPUAlgebra > > spDrivingForce, int expPenalize)
 constructor More...
 
virtual void ug::SmallStrainMechanics::PrandtlReuss< TDomain >::update_internal_vars (const size_t ip, const MathMatrix< dim, dim > &GradU)
 
void ug::SmallStrainMechanics::PrandtlReuss< TDomain >::Update_internal_vars (MathMatrix< dim, dim > &strain_p_new, number &alpha, const MathMatrix< dim, dim > &GradU, const MathMatrix< dim, dim > &strain_p_old_t)
 
virtual void ug::SmallStrainMechanics::PrandtlReuss< TDomain >::write_data_to_console (const number t)
 
 ug::SmallStrainMechanics::DamageLaw< TDomain >::~DamageLaw ()
 Destructor. More...
 
 ug::SmallStrainMechanics::HookeLaw< TDomain >::~HookeLaw ()
 Destructor. More...
 
 ug::SmallStrainMechanics::IScaledHookeLaw< TDomain >::~IScaledHookeLaw ()
 Destructor. More...
 
 ug::SmallStrainMechanics::PrandtlReuss< TDomain >::~PrandtlReuss ()
 Destructor. More...
 
 ug::SmallStrainMechanics::SkinMaterialLaw< TDomain >::~SkinMaterialLaw ()
 Destructor. More...
 
 ug::SmallStrainMechanics::TopologyOptimLaw< TDomain >::~TopologyOptimLaw ()
 Destructor. More...
 

Variables

number ug::SmallStrainMechanics::PrandtlReuss< TDomain >::InternalVars::alpha
 
static const int ug::SmallStrainMechanics::HookeLaw< TDomain >::dim = base_type::dim
 World dimension. More...
 
static const int ug::SmallStrainMechanics::PrandtlReuss< TDomain >::dim = base_type::dim
 World dimension. More...
 
static const int ug::SmallStrainMechanics::IScaledHookeLaw< TDomain >::dim = base_type::dim
 World dimension. More...
 
static const int ug::SmallStrainMechanics::DamageLaw< TDomain >::dim = base_type::dim
 World dimension. More...
 
static const int ug::SmallStrainMechanics::TopologyOptimLaw< TDomain >::dim = base_type::dim
 World dimension. More...
 
static const int ug::SmallStrainMechanics::SkinMaterialLaw< TDomain >::dim = TDomain::dim
 World dimension. More...
 
number ug::SmallStrainMechanics::PrandtlReuss< TDomain >::MaterialConstants::Hard
 
std::vector< InternalVarsug::SmallStrainMechanics::PrandtlReuss< TDomain >::ElemData::internalVars
 
number ug::SmallStrainMechanics::PrandtlReuss< TDomain >::MaterialConstants::K_0
 
number ug::SmallStrainMechanics::PrandtlReuss< TDomain >::MaterialConstants::K_inf
 
number ug::SmallStrainMechanics::PrandtlReuss< TDomain >::MaterialConstants::kappa
 
ElemDataAccessor ug::SmallStrainMechanics::PrandtlReuss< TDomain >::m_aaElemData
 
AElemData ug::SmallStrainMechanics::PrandtlReuss< TDomain >::m_aElemData
 
bool ug::SmallStrainMechanics::PrandtlReuss< TDomain >::m_bHardExp
 
bool ug::SmallStrainMechanics::PrandtlReuss< TDomain >::m_bHardModulus
 flags indicating if hardening variables are set More...
 
int ug::SmallStrainMechanics::TopologyOptimLaw< TDomain >::m_expPenalize
 
number ug::SmallStrainMechanics::PrandtlReuss< TDomain >::m_HardAccuracy
 
int ug::SmallStrainMechanics::PrandtlReuss< TDomain >::m_hardening
 hardening behavior More...
 
number ug::SmallStrainMechanics::PrandtlReuss< TDomain >::m_max_k_tan
 max condition number for numerical approximated matrix More...
 
size_t ug::SmallStrainMechanics::PrandtlReuss< TDomain >::m_MaxHardIter
 
number ug::SmallStrainMechanics::PrandtlReuss< TDomain >::m_min_k_tan
 
ElemDataug::SmallStrainMechanics::PrandtlReuss< TDomain >::m_pElemData
 
numberug::SmallStrainMechanics::IScaledHookeLaw< TDomain >::m_pEnergy_elem
 
size_t ug::SmallStrainMechanics::PrandtlReuss< TDomain >::m_plasticIPs
 
numberug::SmallStrainMechanics::IScaledHookeLaw< TDomain >::m_pScaling_elem
 
SmartPtr< MathTensor4< dim, dim, dim, dim > > ug::SmallStrainMechanics::HookeLaw< TDomain >::m_spElastTensorFunct
 elasticity tensor More...
 
SmartPtr< MathTensor4< dim, dim, dim, dim > > ug::SmallStrainMechanics::SkinMaterialLaw< TDomain >::m_spElastTensorFunct
 elasticity tensor More...
 
SmartPtr< GridFunction< TDomain, CPUAlgebra > > ug::SmallStrainMechanics::IScaledHookeLaw< TDomain >::m_spEnergy
 
SmartPtr< GridFunction< TDomain, CPUAlgebra > > ug::SmallStrainMechanics::IScaledHookeLaw< TDomain >::m_spScaling
 
number ug::SmallStrainMechanics::PrandtlReuss< TDomain >::m_tangentAccur
 tangent accuracy More...
 
struct ug::SmallStrainMechanics::PrandtlReuss::MaterialConstants ug::SmallStrainMechanics::PrandtlReuss< TDomain >::matConsts
 
number ug::SmallStrainMechanics::PrandtlReuss< TDomain >::MaterialConstants::mu
 
number ug::SmallStrainMechanics::PrandtlReuss< TDomain >::MaterialConstants::omega
 
MathMatrix< dim, dimug::SmallStrainMechanics::PrandtlReuss< TDomain >::InternalVars::strain_p_old_t
 
void ug::SmallStrainMechanics::HookeLaw< TDomain >::set_hooke_elasticity_tensor (const number lambda, const number mu)
 
void ug::SmallStrainMechanics::HookeLaw< TDomain >::set_hooke_elasticity_tensor_E_nu (const number E, const number nu)
 
void ug::SmallStrainMechanics::HookeLaw< TDomain >::set_hooke_elasticity_tensor_plain_stress_E_nu (const number E, const number nu)
 
void ug::SmallStrainMechanics::HookeLaw< TDomain >::set_hooke_elasticity_tensor_plain_strain_E_nu (const number E, const number nu)
 
void ug::SmallStrainMechanics::HookeLaw< TDomain >::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 ug::SmallStrainMechanics::HookeLaw< TDomain >::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 ug::SmallStrainMechanics::HookeLaw< TDomain >::set_elasticity_tensor_orthotropic_plain_stress_E_G_nu (const number E1, const number E2, const number G12, const number v12)
 
void ug::SmallStrainMechanics::HookeLaw< TDomain >::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)
 
void ug::SmallStrainMechanics::SkinMaterialLaw< TDomain >::set_hooke_elasticity_tensor (const number lambda, const number mu)
 
void ug::SmallStrainMechanics::SkinMaterialLaw< TDomain >::set_hooke_elasticity_tensor_E_nu (const number E, const number nu)
 
void ug::SmallStrainMechanics::SkinMaterialLaw< TDomain >::set_hooke_elasticity_tensor_plain_stress_E_nu (const number E, const number nu)
 
void ug::SmallStrainMechanics::SkinMaterialLaw< TDomain >::set_hooke_elasticity_tensor_plain_strain_E_nu (const number E, const number nu)
 

Detailed Description

This is a plugin for Small Strain Mechanics functionality.

Material Law: Hookes Law modelling linear elastic behavior for isotropic, homogenous materials

Material Law: Prandtl-Reuss law modelling elastoplastic material behavior where the elastic part is considered as linear. The flow-condition is of von-Mises-type.

Post-Processor (Output-Writer) for the visualization of results of Linear Elasticity and Elasto-Plasticity problems

Element Discretization for Linear Elasticity and Elasto-Plasticity problems (restricted to small deformations; linearized theory)

Typedef Documentation

◆ AElemData

template<typename TDomain >
typedef Attachment<ElemData> ug::SmallStrainMechanics::PrandtlReuss< TDomain >::AElemData
private

◆ base_type [1/6]

template<typename TDomain >
typedef IMaterialLaw<TDomain> ug::SmallStrainMechanics::HookeLaw< TDomain >::base_type
private

Base class type.

◆ base_type [2/6]

template<typename TDomain >
typedef IMaterialLaw<TDomain> ug::SmallStrainMechanics::PrandtlReuss< TDomain >::base_type
private

Base class type.

◆ base_type [3/6]

template<typename TDomain >
typedef HookeLaw<TDomain> ug::SmallStrainMechanics::IScaledHookeLaw< TDomain >::base_type
private

Base class type.

◆ base_type [4/6]

template<typename TDomain >
typedef IScaledHookeLaw<TDomain> ug::SmallStrainMechanics::DamageLaw< TDomain >::base_type
private

Base class type.

◆ base_type [5/6]

template<typename TDomain >
typedef IScaledHookeLaw<TDomain> ug::SmallStrainMechanics::TopologyOptimLaw< TDomain >::base_type
private

Base class type.

◆ base_type [6/6]

template<typename TDomain >
typedef IMaterialLaw<TDomain> ug::SmallStrainMechanics::SkinMaterialLaw< TDomain >::base_type
private

Base class type.

◆ ElemDataAccessor

template<typename TDomain >
typedef Grid::AttachmentAccessor<TBaseElem, AElemData> ug::SmallStrainMechanics::PrandtlReuss< TDomain >::ElemDataAccessor
private

◆ TBaseElem [1/4]

template<typename TDomain >
typedef base_type::TBaseElem ug::SmallStrainMechanics::PrandtlReuss< TDomain >::TBaseElem

base element type

◆ TBaseElem [2/4]

template<typename TDomain >
typedef base_type::TBaseElem ug::SmallStrainMechanics::IScaledHookeLaw< TDomain >::TBaseElem

base element type

◆ TBaseElem [3/4]

template<typename TDomain >
typedef base_type::TBaseElem ug::SmallStrainMechanics::DamageLaw< TDomain >::TBaseElem

base element type

◆ TBaseElem [4/4]

template<typename TDomain >
typedef base_type::TBaseElem ug::SmallStrainMechanics::TopologyOptimLaw< TDomain >::TBaseElem

base element type

◆ this_type [1/4]

template<typename TDomain >
typedef PrandtlReuss<TDomain> ug::SmallStrainMechanics::PrandtlReuss< TDomain >::this_type
private

own type

◆ this_type [2/4]

template<typename TDomain >
typedef IScaledHookeLaw<TDomain> ug::SmallStrainMechanics::IScaledHookeLaw< TDomain >::this_type
private

own type

◆ this_type [3/4]

template<typename TDomain >
typedef DamageLaw<TDomain> ug::SmallStrainMechanics::DamageLaw< TDomain >::this_type
private

own type

◆ this_type [4/4]

template<typename TDomain >
typedef TopologyOptimLaw<TDomain> ug::SmallStrainMechanics::TopologyOptimLaw< TDomain >::this_type
private

own type

Function Documentation

◆ attach_internal_vars()

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

use this method to make sure that all required attachments are attached

This method won't be necessary if we attach m_aElemData during initialization.

Reimplemented from ug::SmallStrainMechanics::IMaterialLaw< TDomain >.

References grid(), ug::SmallStrainMechanics::PrandtlReuss< TDomain >::m_aaElemData, and ug::SmallStrainMechanics::PrandtlReuss< TDomain >::m_aElemData.

◆ clear_attachments()

◆ ConstLaw()

template<typename TDomain >
void ug::SmallStrainMechanics::PrandtlReuss< TDomain >::ConstLaw ( MathMatrix< dim, dim > &  stressTens,
const MathMatrix< dim, dim > &  strainTens,
const MathMatrix< dim, dim > &  strial,
const number gamma,
const MathMatrix< dim, dim > &  normal 
)
private

References dim, normal, and ug::Trace().

◆ DamageLaw()

template<typename TDomain >
ug::SmallStrainMechanics::DamageLaw< TDomain >::DamageLaw ( SmartPtr< GridFunction< TDomain, CPUAlgebra > >  spF,
SmartPtr< GridFunction< TDomain, CPUAlgebra > >  spPsi0 
)
inline

constructor

◆ elasticityTensor() [1/6]

template<typename TDomain >
SmartPtr< MathTensor4< TDomain::dim, TDomain::dim, TDomain::dim, TDomain::dim > > ug::SmallStrainMechanics::HookeLaw< TDomain >::elasticityTensor
inlinevirtual

computes the elasticity tensor; commonly denoted by C

Reimplemented from ug::SmallStrainMechanics::IMaterialLaw< TDomain >.

References HOOKE_PROFILE_BEGIN.

Referenced by ug::SmallStrainMechanics::HookeLaw< TDomain >::elasticityTensor().

◆ elasticityTensor() [2/6]

template<typename TDomain >
virtual SmartPtr<MathTensor4<dim,dim,dim,dim> > ug::SmallStrainMechanics::SkinMaterialLaw< TDomain >::elasticityTensor ( )
inlinevirtual

computes the elasticity tensor; commonly denoted by C

Reimplemented from ug::SmallStrainMechanics::IMaterialLaw< TDomain >.

References UG_THROW.

◆ elasticityTensor() [3/6]

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

◆ elasticityTensor() [4/6]

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

computes the elasticity tensor; commonly denoted by C

Implements ug::SmallStrainMechanics::IMaterialLaw< TDomain >.

References dim, ug::MatFrobeniusNorm(), ug::MatSubtract(), and PRANDTL_REUSS_PROFILE_BEGIN.

◆ elasticityTensor() [5/6]

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

◆ elasticityTensor() [6/6]

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

◆ energy_on_curr_elem()

◆ equiv_plast_strain()

template<typename TGridFunction >
void ug::SmallStrainMechanics::equiv_plast_strain ( TGridFunction &  eqPlastStrain,
MechOutputWriter< typename TGridFunction::domain_type > &  mechOut,
TGridFunction &  u 
)

◆ ExponentialHardening()

template<typename TDomain >
number ug::SmallStrainMechanics::PrandtlReuss< TDomain >::ExponentialHardening ( const number  strialnorm,
const number  alpha 
)
private

◆ Flowrule()

template<typename TDomain >
void ug::SmallStrainMechanics::PrandtlReuss< TDomain >::Flowrule ( MathMatrix< dim, dim > &  strain_p_new,
MathMatrix< dim, dim > &  strain,
number gamma,
MathMatrix< dim, dim > &  strial,
MathMatrix< dim, dim > &  normal,
const MathMatrix< dim, dim > &  GradU,
const MathMatrix< dim, dim > &  strain_p_old_t,
const number  alpha 
)
private

◆ Hardening()

template<typename TDomain >
number ug::SmallStrainMechanics::PrandtlReuss< TDomain >::Hardening ( const number  alpha)
inlineprivate

◆ Hardening_d()

template<typename TDomain >
number ug::SmallStrainMechanics::PrandtlReuss< TDomain >::Hardening_d ( const number  alpha)
inlineprivate

◆ hardening_parameter()

◆ HookeLaw()

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

◆ inelastic_strain_tensor()

◆ init() [1/3]

template<typename TDomain >
void ug::SmallStrainMechanics::HookeLaw< TDomain >::init
virtual

◆ init() [2/3]

template<typename TDomain >
void ug::SmallStrainMechanics::PrandtlReuss< TDomain >::init
virtual

◆ init() [3/3]

template<typename TDomain >
void ug::SmallStrainMechanics::SkinMaterialLaw< TDomain >::init
virtual

◆ init_internal_vars() [1/2]

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

◆ init_internal_vars() [2/2]

◆ internal_vars() [1/2]

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

◆ internal_vars() [2/2]

◆ invariants_kirchhoff_stress()

template<typename TGridFunction >
void ug::SmallStrainMechanics::invariants_kirchhoff_stress ( TGridFunction &  invarKirchhoffStress,
MechOutputWriter< typename TGridFunction::domain_type > &  mechOut,
TGridFunction &  u 
)

◆ IScaledHookeLaw()

template<typename TDomain >
ug::SmallStrainMechanics::IScaledHookeLaw< TDomain >::IScaledHookeLaw ( SmartPtr< GridFunction< TDomain, CPUAlgebra > >  spScaling,
SmartPtr< GridFunction< TDomain, CPUAlgebra > >  spEnergy 
)
inline

constructor

◆ LinearHardening()

template<typename TDomain >
number ug::SmallStrainMechanics::PrandtlReuss< TDomain >::LinearHardening ( const number  flowcondtrial)
inlineprivate

◆ needs_to_add_jac_m()

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

◆ normal_stresses_strains()

template<typename TGridFunction >
void ug::SmallStrainMechanics::normal_stresses_strains ( MechOutputWriter< typename TGridFunction::domain_type > &  mechOut,
TGridFunction &  sigma,
TGridFunction &  epsilon,
TGridFunction &  stressFunc,
TGridFunction &  strainFunc,
TGridFunction &  u 
)

◆ PerfectPlasticity()

template<typename TDomain >
number ug::SmallStrainMechanics::PrandtlReuss< TDomain >::PerfectPlasticity ( const number  flowcondtrial)
inlineprivate

◆ plast_ip()

template<typename TGridFunction >
void ug::SmallStrainMechanics::plast_ip ( TGridFunction &  plastIP,
MechOutputWriter< typename TGridFunction::domain_type > &  mechOut,
TGridFunction &  u 
)

◆ plastic_multiplier()

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

◆ post_process_energy_on_curr_elem() [1/3]

◆ post_process_energy_on_curr_elem() [2/3]

template<typename TDomain >
virtual void ug::SmallStrainMechanics::DamageLaw< TDomain >::post_process_energy_on_curr_elem ( )
inlinevirtual

◆ post_process_energy_on_curr_elem() [3/3]

◆ PrandtlReuss()

◆ scaling_on_curr_elem() [1/2]

◆ scaling_on_curr_elem() [2/2]

◆ set_bulk_modulus()

◆ set_elasticity_tensor_orthotropic()

template<typename TDomain >
void ug::SmallStrainMechanics::HookeLaw< TDomain >::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 
)

◆ set_elasticity_tensor_orthotropic_E_G_nu()

template<typename TDomain >
void ug::SmallStrainMechanics::HookeLaw< TDomain >::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 
)

◆ set_elasticity_tensor_orthotropic_plain_strain_E_G_nu()

template<typename TDomain >
void ug::SmallStrainMechanics::HookeLaw< TDomain >::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 
)

set elasticity tensor for orthotropic materials

References ug::StringTableStream::clear(), ug::ConfigShift(), dim, UG_LOG, and UG_THROW.

◆ set_elasticity_tensor_orthotropic_plain_stress_E_G_nu()

template<typename TDomain >
void ug::SmallStrainMechanics::HookeLaw< TDomain >::set_elasticity_tensor_orthotropic_plain_stress_E_G_nu ( const number  E1,
const number  E2,
const number  G12,
const number  v12 
)

set elasticity tensor for orthotropic materials

References ug::StringTableStream::clear(), ug::ConfigShift(), dim, UG_LOG, and UG_THROW.

◆ set_hardening_behavior()

template<typename TDomain >
void ug::SmallStrainMechanics::PrandtlReuss< TDomain >::set_hardening_behavior ( int  hard)

References UG_THROW.

◆ set_hardening_exponent()

◆ set_hardening_modulus()

◆ set_hooke_elasticity_tensor() [1/2]

template<typename TDomain >
void ug::SmallStrainMechanics::HookeLaw< TDomain >::set_hooke_elasticity_tensor ( const number  lambda,
const number  mu 
)

set hooke elasticity tensor for isotropic materials, (in 2D: plane-strain-case)

References dim.

◆ set_hooke_elasticity_tensor() [2/2]

template<typename TDomain >
void ug::SmallStrainMechanics::SkinMaterialLaw< TDomain >::set_hooke_elasticity_tensor ( const number  lambda,
const number  mu 
)

set hooke elasticity tensor for isotropic materials, (in 2D: plane-strain-case)

References dim.

◆ set_hooke_elasticity_tensor_E_nu() [1/2]

template<typename TDomain >
void ug::SmallStrainMechanics::HookeLaw< TDomain >::set_hooke_elasticity_tensor_E_nu ( const number  E,
const number  nu 
)

set hooke elasticity tensor for isotropic materials, (in 2D: plane-strain-case)

◆ set_hooke_elasticity_tensor_E_nu() [2/2]

template<typename TDomain >
void ug::SmallStrainMechanics::SkinMaterialLaw< TDomain >::set_hooke_elasticity_tensor_E_nu ( const number  E,
const number  nu 
)

set hooke elasticity tensor for isotropic materials, (in 2D: plane-strain-case)

◆ set_hooke_elasticity_tensor_plain_strain_E_nu() [1/2]

template<typename TDomain >
void ug::SmallStrainMechanics::HookeLaw< TDomain >::set_hooke_elasticity_tensor_plain_strain_E_nu ( const number  E,
const number  nu 
)

set hooke elasticity tensor for isotropic materials, (in 2D: plane-strain-case)

References dim, and UG_THROW.

◆ set_hooke_elasticity_tensor_plain_strain_E_nu() [2/2]

template<typename TDomain >
void ug::SmallStrainMechanics::SkinMaterialLaw< TDomain >::set_hooke_elasticity_tensor_plain_strain_E_nu ( const number  E,
const number  nu 
)

set hooke elasticity tensor for isotropic materials, (in 2D: plane-strain-case)

References dim, and UG_THROW.

◆ set_hooke_elasticity_tensor_plain_stress_E_nu() [1/2]

template<typename TDomain >
void ug::SmallStrainMechanics::HookeLaw< TDomain >::set_hooke_elasticity_tensor_plain_stress_E_nu ( const number  E,
const number  nu 
)

set hooke elasticity tensor for isotropic materials, (in 2D: plane-strain-case)

References dim, and UG_THROW.

◆ set_hooke_elasticity_tensor_plain_stress_E_nu() [2/2]

template<typename TDomain >
void ug::SmallStrainMechanics::SkinMaterialLaw< TDomain >::set_hooke_elasticity_tensor_plain_stress_E_nu ( const number  E,
const number  nu 
)

set hooke elasticity tensor for isotropic materials, (in 2D: plane-strain-case)

References dim, and UG_THROW.

◆ set_initial_flow_stress()

◆ set_residual_flow_stress()

◆ set_shear_modulus()

◆ set_tangent_precision()

template<typename TDomain >
void ug::SmallStrainMechanics::PrandtlReuss< TDomain >::set_tangent_precision ( const number  tanAccur)
inline

◆ SkinMaterialLaw()

◆ strainTensor() [1/3]

template<typename TDomain >
void ug::SmallStrainMechanics::HookeLaw< TDomain >::strainTensor ( MathMatrix< dim, dim > &  strainTens,
const MathMatrix< dim, dim > &  GradU 
)
inline

◆ strainTensor() [2/3]

template<typename TDomain >
void ug::SmallStrainMechanics::PrandtlReuss< TDomain >::strainTensor ( MathMatrix< dim, dim > &  strainTens,
const MathMatrix< dim, dim > &  GradU 
)
inlineprivate

References dim.

◆ strainTensor() [3/3]

template<typename TDomain >
void ug::SmallStrainMechanics::SkinMaterialLaw< TDomain >::strainTensor ( MathMatrix< dim, dim > &  strainTens,
const MathMatrix< dim, dim > &  GradU 
)
inlineprivate

References dim.

◆ StressTensor()

template<typename TDomain >
void ug::SmallStrainMechanics::PrandtlReuss< TDomain >::StressTensor ( MathMatrix< dim, dim > &  stressTens,
const MathMatrix< dim, dim > &  GradU,
const MathMatrix< dim, dim > &  strain_p_old_t,
const number  alpha 
)
private

References normal.

◆ stressTensor() [1/4]

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

computes the cauchy stress tensor sigma at an integration point 'ip'

Implements ug::SmallStrainMechanics::IMaterialLaw< TDomain >.

References dim, and HOOKE_PROFILE_BEGIN.

◆ stressTensor() [2/4]

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

computes the cauchy stress tensor sigma at an integration point 'ip'

Implements ug::SmallStrainMechanics::IMaterialLaw< TDomain >.

References PRANDTL_REUSS_PROFILE_BEGIN.

◆ stressTensor() [3/4]

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

computes the cauchy stress tensor sigma at an integration point 'ip'

Implements ug::SmallStrainMechanics::IMaterialLaw< TDomain >.

References UG_THROW.

◆ stressTensor() [4/4]

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

◆ TopologyOptimLaw()

template<typename TDomain >
ug::SmallStrainMechanics::TopologyOptimLaw< TDomain >::TopologyOptimLaw ( SmartPtr< GridFunction< TDomain, CPUAlgebra > >  spChi,
SmartPtr< GridFunction< TDomain, CPUAlgebra > >  spDrivingForce,
int  expPenalize 
)
inline

constructor

◆ update_internal_vars()

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

◆ Update_internal_vars()

template<typename TDomain >
void ug::SmallStrainMechanics::PrandtlReuss< TDomain >::Update_internal_vars ( MathMatrix< dim, dim > &  strain_p_new,
number alpha,
const MathMatrix< dim, dim > &  GradU,
const MathMatrix< dim, dim > &  strain_p_old_t 
)
private

◆ write_data_to_console()

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

◆ ~DamageLaw()

template<typename TDomain >
ug::SmallStrainMechanics::DamageLaw< TDomain >::~DamageLaw ( )
inline

Destructor.

◆ ~HookeLaw()

template<typename TDomain >
ug::SmallStrainMechanics::HookeLaw< TDomain >::~HookeLaw ( )
inline

Destructor.

◆ ~IScaledHookeLaw()

template<typename TDomain >
ug::SmallStrainMechanics::IScaledHookeLaw< TDomain >::~IScaledHookeLaw ( )
inline

Destructor.

◆ ~PrandtlReuss()

template<typename TDomain >
ug::SmallStrainMechanics::PrandtlReuss< TDomain >::~PrandtlReuss ( )
inline

Destructor.

◆ ~SkinMaterialLaw()

template<typename TDomain >
ug::SmallStrainMechanics::SkinMaterialLaw< TDomain >::~SkinMaterialLaw ( )
inline

Destructor.

◆ ~TopologyOptimLaw()

template<typename TDomain >
ug::SmallStrainMechanics::TopologyOptimLaw< TDomain >::~TopologyOptimLaw ( )
inline

Destructor.

Variable Documentation

◆ alpha

template<typename TDomain >
number ug::SmallStrainMechanics::PrandtlReuss< TDomain >::InternalVars::alpha

◆ dim [1/6]

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

World dimension.

◆ dim [2/6]

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

World dimension.

◆ dim [3/6]

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

World dimension.

◆ dim [4/6]

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

World dimension.

◆ dim [5/6]

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

World dimension.

◆ dim [6/6]

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

World dimension.

◆ Hard

◆ internalVars

◆ K_0

◆ K_inf

◆ kappa

◆ m_aaElemData

◆ m_aElemData

◆ m_bHardExp

template<typename TDomain >
bool ug::SmallStrainMechanics::PrandtlReuss< TDomain >::m_bHardExp
private

◆ m_bHardModulus

template<typename TDomain >
bool ug::SmallStrainMechanics::PrandtlReuss< TDomain >::m_bHardModulus
private

flags indicating if hardening variables are set

Referenced by ug::SmallStrainMechanics::PrandtlReuss< TDomain >::set_hardening_modulus().

◆ m_expPenalize

◆ m_HardAccuracy

template<typename TDomain >
number ug::SmallStrainMechanics::PrandtlReuss< TDomain >::m_HardAccuracy
private

◆ m_hardening

template<typename TDomain >
int ug::SmallStrainMechanics::PrandtlReuss< TDomain >::m_hardening
private

◆ m_max_k_tan

template<typename TDomain >
number ug::SmallStrainMechanics::PrandtlReuss< TDomain >::m_max_k_tan
private

max condition number for numerical approximated matrix

Referenced by ug::SmallStrainMechanics::PrandtlReuss< TDomain >::PrandtlReuss().

◆ m_MaxHardIter

template<typename TDomain >
size_t ug::SmallStrainMechanics::PrandtlReuss< TDomain >::m_MaxHardIter
private

◆ m_min_k_tan

template<typename TDomain >
number ug::SmallStrainMechanics::PrandtlReuss< TDomain >::m_min_k_tan
private

◆ m_pElemData

◆ m_pEnergy_elem

◆ m_plasticIPs

template<typename TDomain >
size_t ug::SmallStrainMechanics::PrandtlReuss< TDomain >::m_plasticIPs
private

◆ m_pScaling_elem

◆ m_spElastTensorFunct [1/2]

template<typename TDomain >
SmartPtr<MathTensor4<dim,dim,dim,dim> > ug::SmallStrainMechanics::HookeLaw< TDomain >::m_spElastTensorFunct
protected

elasticity tensor

◆ m_spElastTensorFunct [2/2]

template<typename TDomain >
SmartPtr<MathTensor4<dim,dim,dim,dim> > ug::SmallStrainMechanics::SkinMaterialLaw< TDomain >::m_spElastTensorFunct
private

elasticity tensor

◆ m_spEnergy

◆ m_spScaling

◆ m_tangentAccur

template<typename TDomain >
number ug::SmallStrainMechanics::PrandtlReuss< TDomain >::m_tangentAccur
private

◆ matConsts

◆ mu

◆ omega

◆ strain_p_old_t

template<typename TDomain >
MathMatrix<dim, dim> ug::SmallStrainMechanics::PrandtlReuss< TDomain >::InternalVars::strain_p_old_t