Plugins
ug::SmallStrainMechanics Namespace Reference

Classes

class  ContactSmallStrainMechanics
 Contact conditions for small strain mechanical applications. More...
 
struct  contrained_dim_traits
 
struct  contrained_dim_traits< 2 >
 
struct  contrained_dim_traits< 3 >
 
class  DamageFunctionUpdater
 
class  DamageLaw
 Material Law: More...
 
struct  face_type_traits
 
struct  face_type_traits< 1 >
 
struct  face_type_traits< 2 >
 
struct  face_type_traits< 3 >
 
struct  Functionality
 
class  HookeLaw
 
class  IMaterialLaw
 
class  IScaledHookeLaw
 
class  MechOutputWriter
 
class  PrandtlReuss
 
class  RelativeDensityUpdater
 
class  SkinMaterialLaw
 
class  SmallStrainMechanicsElemDisc
 
class  TopologyOptimLaw
 Material Law: More...
 
class  VoigtianMatrix
 

Functions

template<int dim>
void AveragePositions (MathVector< dim > &vCenter, const std::vector< MathVector< dim > > &vCornerCoords)
 
template<typename TDomain >
void CollectStencilNeighbors_NeumannZeroBND_IndexAndDistance (std::vector< typename grid_dim_traits< TDomain::dim >::element_type * > &vElem, std::vector< size_t > &vIndex, std::vector< MathVector< TDomain::dim > > &vDistance, typename grid_dim_traits< TDomain::dim >::element_type *elem, typename TDomain::grid_type &grid, typename TDomain::position_accessor_type &aaPos, SmartPtr< GridFunction< TDomain, CPUAlgebra > > spF, bool fillElemSizeIntoVector=false)
 
template<typename TDomain >
void CollectSurfaceNeighbors (SmartPtr< GridFunction< TDomain, CPUAlgebra > > spF, typename grid_dim_traits< TDomain::dim >::element_type *elem, std::vector< typename grid_dim_traits< TDomain::dim >::element_type * > &vNeighbors)
 
template<typename TDomain >
std::vector< numberDamageStatistic (SmartPtr< GridFunction< TDomain, CPUAlgebra > > spF, SmartPtr< GridFunction< TDomain, CPUAlgebra > > spPsi0)
 
template<typename TGridFunction >
void equiv_plast_strain (TGridFunction &eqPlastStrain, MechOutputWriter< typename TGridFunction::domain_type > &mechOut, TGridFunction &u)
 
template<typename TDomain >
void HadamardProd (SmartPtr< GridFunction< TDomain, CPUAlgebra > > spFPsi0, ConstSmartPtr< GridFunction< TDomain, CPUAlgebra > > spF, ConstSmartPtr< GridFunction< TDomain, CPUAlgebra > > spPsi0)
 
template<typename TDomain >
void InitLaplacian_LeastSquares (SmartPtr< GridFunction< TDomain, CPUAlgebra > > spF, std::vector< std::vector< number > > &vStencil, std::vector< std::vector< size_t > > &vIndex, bool fillElemSizeIntoVector=false)
 
template<typename TDomain >
void InitLaplacian_PartialIntegration (SmartPtr< GridFunction< TDomain, CPUAlgebra > > spF, std::vector< std::vector< number > > &vStencil, std::vector< std::vector< size_t > > &vIndex, int quadRuleType, bool fillElemSizeIntoVector=false)
 
template<typename TDomain >
void InitLaplacian_TaylorDirect (SmartPtr< GridFunction< TDomain, CPUAlgebra > > spF, std::vector< std::vector< number > > &vStencil, std::vector< std::vector< size_t > > &vIndex, bool fillElemSizeIntoVector=false)
 
template<typename TDomain >
void InitLaplacian_TaylorExpansion (SmartPtr< GridFunction< TDomain, CPUAlgebra > > spF, std::vector< std::vector< number > > &vStencil, std::vector< std::vector< size_t > > &vIndex, bool fillElemSizeIntoVector=false)
 
template<typename TGridFunction >
void invariants_kirchhoff_stress (TGridFunction &invarKirchhoffStress, MechOutputWriter< typename TGridFunction::domain_type > &mechOut, TGridFunction &u)
 
template<typename TDomain >
void MarkDamage (SmartPtr< GridFunction< TDomain, CPUAlgebra > > spF, SmartPtr< GridFunction< TDomain, CPUAlgebra > > spPsi0, IRefiner &refiner, number minValueToRefine, number maxValueToCoarsen, int maxLevel, const std::vector< MathVector< TDomain::dim, number > * > &vCenter, const std::vector< number > &vRadius)
 
template<typename TDomain >
void MarkDamage_OLD_AND_DEPRECATED (SmartPtr< GridFunction< TDomain, CPUAlgebra > > spF, SmartPtr< GridFunction< TDomain, CPUAlgebra > > spPsi0, IRefiner &refiner, number refineFrac, number coarseFrac, number avgRefineFactor, number avgCoarsenFactor, int maxLevel)
 
template<typename TDomain , typename TAlgebra >
void MarkForAdaption_PlasticElem (IRefiner &refiner, GridFunction< TDomain, TAlgebra > &u, SmallStrainMechanicsElemDisc< TDomain > &elemDisc)
 
template<typename TDomain >
void MarkForAdaption_ValueRangeIndicator (SmartPtr< GridFunction< TDomain, CPUAlgebra > > spChi, IRefiner &refiner, number lowerValueToCoarsen, number minValueToRefine, number maxValueToRefine, number upperValueToCoarsen, number maxJumpDifferenceToNeighborsForCoarsen, number minJumpDifferenceToNeighborsForRefine, int maxLevel)
 
template<typename TDomain >
std::vector< numberMinMaxElementDiameter (SmartPtr< GridFunction< TDomain, CPUAlgebra > > spF)
 
template<typename TGridFunction >
void normal_stresses_strains (MechOutputWriter< typename TGridFunction::domain_type > &mechOut, TGridFunction &sigma, TGridFunction &epsilon, TGridFunction &stressFunc, TGridFunction &strainFunc, TGridFunction &u)
 
template<typename TGridFunction >
void plast_ip (TGridFunction &plastIP, MechOutputWriter< typename TGridFunction::domain_type > &mechOut, TGridFunction &u)
 
template<typename TDomain , typename TElem >
void plastic_ip_elem (bool &bPlasticIPs, TElem *elem, const LocalVector &locU, SmartPtr< TDomain > dom, SmallStrainMechanicsElemDisc< TDomain > &elemDisc)
 

Function Documentation

◆ AveragePositions()

template<int dim>
void ug::SmallStrainMechanics::AveragePositions ( MathVector< dim > &  vCenter,
const std::vector< MathVector< dim > > &  vCornerCoords 
)

◆ CollectStencilNeighbors_NeumannZeroBND_IndexAndDistance()

template<typename TDomain >
void ug::SmallStrainMechanics::CollectStencilNeighbors_NeumannZeroBND_IndexAndDistance ( std::vector< typename grid_dim_traits< TDomain::dim >::element_type * > &  vElem,
std::vector< size_t > &  vIndex,
std::vector< MathVector< TDomain::dim > > &  vDistance,
typename grid_dim_traits< TDomain::dim >::element_type elem,
typename TDomain::grid_type grid,
typename TDomain::position_accessor_type aaPos,
SmartPtr< GridFunction< TDomain, CPUAlgebra > >  spF,
bool  fillElemSizeIntoVector = false 
)

◆ CollectSurfaceNeighbors()

template<typename TDomain >
void ug::SmallStrainMechanics::CollectSurfaceNeighbors ( SmartPtr< GridFunction< TDomain, CPUAlgebra > >  spF,
typename grid_dim_traits< TDomain::dim >::element_type elem,
std::vector< typename grid_dim_traits< TDomain::dim >::element_type * > &  vNeighbors 
)

◆ DamageStatistic()

template<typename TDomain >
std::vector< number > ug::SmallStrainMechanics::DamageStatistic ( SmartPtr< GridFunction< TDomain, CPUAlgebra > >  spF,
SmartPtr< GridFunction< TDomain, CPUAlgebra > >  spPsi0 
)

◆ HadamardProd()

template<typename TDomain >
void ug::SmallStrainMechanics::HadamardProd ( SmartPtr< GridFunction< TDomain, CPUAlgebra > >  spFPsi0,
ConstSmartPtr< GridFunction< TDomain, CPUAlgebra > >  spF,
ConstSmartPtr< GridFunction< TDomain, CPUAlgebra > >  spPsi0 
)

References UG_THROW.

◆ InitLaplacian_LeastSquares()

template<typename TDomain >
void ug::SmallStrainMechanics::InitLaplacian_LeastSquares ( SmartPtr< GridFunction< TDomain, CPUAlgebra > >  spF,
std::vector< std::vector< number > > &  vStencil,
std::vector< std::vector< size_t > > &  vIndex,
bool  fillElemSizeIntoVector = false 
)

◆ InitLaplacian_PartialIntegration()

template<typename TDomain >
void ug::SmallStrainMechanics::InitLaplacian_PartialIntegration ( SmartPtr< GridFunction< TDomain, CPUAlgebra > >  spF,
std::vector< std::vector< number > > &  vStencil,
std::vector< std::vector< size_t > > &  vIndex,
int  quadRuleType,
bool  fillElemSizeIntoVector = false 
)

◆ InitLaplacian_TaylorDirect()

template<typename TDomain >
void ug::SmallStrainMechanics::InitLaplacian_TaylorDirect ( SmartPtr< GridFunction< TDomain, CPUAlgebra > >  spF,
std::vector< std::vector< number > > &  vStencil,
std::vector< std::vector< size_t > > &  vIndex,
bool  fillElemSizeIntoVector = false 
)

◆ InitLaplacian_TaylorExpansion()

template<typename TDomain >
void ug::SmallStrainMechanics::InitLaplacian_TaylorExpansion ( SmartPtr< GridFunction< TDomain, CPUAlgebra > >  spF,
std::vector< std::vector< number > > &  vStencil,
std::vector< std::vector< size_t > > &  vIndex,
bool  fillElemSizeIntoVector = false 
)

◆ MarkDamage()

template<typename TDomain >
void ug::SmallStrainMechanics::MarkDamage ( SmartPtr< GridFunction< TDomain, CPUAlgebra > >  spF,
SmartPtr< GridFunction< TDomain, CPUAlgebra > >  spPsi0,
IRefiner refiner,
number  minValueToRefine,
number  maxValueToCoarsen,
int  maxLevel,
const std::vector< MathVector< TDomain::dim, number > * > &  vCenter,
const std::vector< number > &  vRadius 
)

◆ MarkDamage_OLD_AND_DEPRECATED()

template<typename TDomain >
void ug::SmallStrainMechanics::MarkDamage_OLD_AND_DEPRECATED ( SmartPtr< GridFunction< TDomain, CPUAlgebra > >  spF,
SmartPtr< GridFunction< TDomain, CPUAlgebra > >  spPsi0,
IRefiner refiner,
number  refineFrac,
number  coarseFrac,
number  avgRefineFactor,
number  avgCoarsenFactor,
int  maxLevel 
)

◆ MarkForAdaption_PlasticElem()

◆ MarkForAdaption_ValueRangeIndicator()

template<typename TDomain >
void ug::SmallStrainMechanics::MarkForAdaption_ValueRangeIndicator ( SmartPtr< GridFunction< TDomain, CPUAlgebra > >  spChi,
IRefiner refiner,
number  lowerValueToCoarsen,
number  minValueToRefine,
number  maxValueToRefine,
number  upperValueToCoarsen,
number  maxJumpDifferenceToNeighborsForCoarsen,
number  minJumpDifferenceToNeighborsForRefine,
int  maxLevel 
)

◆ MinMaxElementDiameter()

template<typename TDomain >
std::vector<number> ug::SmallStrainMechanics::MinMaxElementDiameter ( SmartPtr< GridFunction< TDomain, CPUAlgebra > >  spF)

◆ plastic_ip_elem()