Plugins
|
Contact conditions for small strain mechanical applications. More...
#include <contact.h>
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... | |
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:
|
private |
Base class type.
typedef base_type::domain_type ug::SmallStrainMechanics::ContactSmallStrainMechanics< TDomain, TGridFunction >::domain_type |
Domain type.
|
private |
own type
ug::SmallStrainMechanics::ContactSmallStrainMechanics< TDomain, TGridFunction >::ContactSmallStrainMechanics | ( | SmartPtr< SmallStrainMechanicsElemDisc< TDomain > > | spLinElastPlast | ) |
|
inlinevirtual |
Virtual destructor.
void ug::SmallStrainMechanics::ContactSmallStrainMechanics< TDomain, TGridFunction >::contact_forces_elem | ( | TIterator | iterBegin, |
TIterator | iterEnd, | ||
const TGridFunction & | u, | ||
TGridFunction & | contactForce, | ||
vector< DoFIndex > | vActiveSetGlob | ||
) |
References ug::AddLocalVector(), ug::CollectCornerCoordinates(), ug::LocalIndices::comp(), dim, element_type(), ug::ReferenceElementProvider::get(), ug::GetLocalVector(), grid(), ug::LocalIndices::index(), ug::LocalVector::num_all_dof(), ug::LocalVector::num_all_fct(), ug::LocalVector::resize(), UG_LOG, and UG_THROW.
|
virtual |
References ug::DimensionOfSubset(), UG_LOG, and UG_THROW.
|
static |
World dimension.
|
private |
pointer to the element discretization