Plugins
ug::SmallStrainMechanics::ContactSmallStrainMechanics< TDomain, TGridFunction > Class Template Reference

Contact conditions for small strain mechanical applications. More...

#include <contact.h>

+ Inheritance diagram for ug::SmallStrainMechanics::ContactSmallStrainMechanics< TDomain, TGridFunction >:

Public Types

typedef base_type::domain_type domain_type
 Domain type. More...
 
- Public Types inherited from ug::ILagrangeMultiplierDisc< TDomain, TGridFunction >
typedef TDomain domain_type
 

Public Member Functions

template<typename TSideElem , typename TIterator >
void contact_forces_elem (TIterator iterBegin, TIterator iterEnd, const TGridFunction &u, TGridFunction &contactForce, vector< DoFIndex > vActiveSetGlob)
 
 ContactSmallStrainMechanics (SmartPtr< SmallStrainMechanicsElemDisc< TDomain > > spLinElastPlast)
 
virtual void lagrange_multiplier (TGridFunction &lagMult, const TGridFunction &u, vector< DoFIndex > vActiveSet, vector< int > vActiveSubsets)
 
virtual ~ContactSmallStrainMechanics ()
 Virtual destructor. More...
 
- Public Member Functions inherited from ug::ILagrangeMultiplierDisc< TDomain, TGridFunction >
 ILagrangeMultiplierDisc ()
 
virtual void lagrange_multiplier (TGridFunction &lagMult, const TGridFunction &u, std::vector< DoFIndex > vActiveSet, std::vector< int > vActiveSubsets)=0
 
virtual ~ILagrangeMultiplierDisc ()
 

Static Public Attributes

static const int dim = base_type::dim
 World dimension. More...
 
- Static Public Attributes inherited from ug::ILagrangeMultiplierDisc< TDomain, TGridFunction >
static const int dim
 

Private Types

typedef ILagrangeMultiplierDisc< TDomain, TGridFunction > base_type
 Base class type. More...
 
typedef ContactSmallStrainMechanics< TDomain, TGridFunction > this_type
 own type More...
 

Private Attributes

SmartPtr< SmallStrainMechanicsElemDisc< TDomain > > m_spMechElemDisc
 pointer to the element discretization More...
 

Detailed Description

template<typename TDomain, typename TGridFunction>
class ug::SmallStrainMechanics::ContactSmallStrainMechanics< TDomain, TGridFunction >

Contact conditions for small strain mechanical applications.

Begin of the considering contact conditions in a structural mechanical model for small strains. This implementation is based on active sets.

Still work in progress. A first introductive work for active sets and Lagrange multiplier can be found in:

References:

  • Corinna Hager und Babara I. Wohlmuth: Hindernis- und Kontaktprobleme

Member Typedef Documentation

◆ base_type

template<typename TDomain , typename TGridFunction >
typedef ILagrangeMultiplierDisc<TDomain, TGridFunction> ug::SmallStrainMechanics::ContactSmallStrainMechanics< TDomain, TGridFunction >::base_type
private

Base class type.

◆ domain_type

template<typename TDomain , typename TGridFunction >
typedef base_type::domain_type ug::SmallStrainMechanics::ContactSmallStrainMechanics< TDomain, TGridFunction >::domain_type

Domain type.

◆ this_type

template<typename TDomain , typename TGridFunction >
typedef ContactSmallStrainMechanics<TDomain, TGridFunction> ug::SmallStrainMechanics::ContactSmallStrainMechanics< TDomain, TGridFunction >::this_type
private

own type

Constructor & Destructor Documentation

◆ ContactSmallStrainMechanics()

template<typename TDomain , typename TGridFunction >
ug::SmallStrainMechanics::ContactSmallStrainMechanics< TDomain, TGridFunction >::ContactSmallStrainMechanics ( SmartPtr< SmallStrainMechanicsElemDisc< TDomain > >  spLinElastPlast)

◆ ~ContactSmallStrainMechanics()

template<typename TDomain , typename TGridFunction >
virtual ug::SmallStrainMechanics::ContactSmallStrainMechanics< TDomain, TGridFunction >::~ContactSmallStrainMechanics ( )
inlinevirtual

Virtual destructor.

Member Function Documentation

◆ contact_forces_elem()

template<typename TDomain , typename TGridFunction >
template<typename TSideElem , typename TIterator >
void ug::SmallStrainMechanics::ContactSmallStrainMechanics< TDomain, TGridFunction >::contact_forces_elem ( TIterator  iterBegin,
TIterator  iterEnd,
const TGridFunction &  u,
TGridFunction &  contactForce,
vector< DoFIndex vActiveSetGlob 
)

◆ lagrange_multiplier()

template<typename TDomain , typename TGridFunction >
void ug::SmallStrainMechanics::ContactSmallStrainMechanics< TDomain, TGridFunction >::lagrange_multiplier ( TGridFunction &  lagMult,
const TGridFunction &  u,
vector< DoFIndex vActiveSet,
vector< int >  vActiveSubsets 
)
virtual

Member Data Documentation

◆ dim

template<typename TDomain , typename TGridFunction >
const int ug::SmallStrainMechanics::ContactSmallStrainMechanics< TDomain, TGridFunction >::dim = base_type::dim
static

World dimension.

◆ m_spMechElemDisc

template<typename TDomain , typename TGridFunction >
SmartPtr<SmallStrainMechanicsElemDisc<TDomain> > ug::SmallStrainMechanics::ContactSmallStrainMechanics< TDomain, TGridFunction >::m_spMechElemDisc
private

pointer to the element discretization


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