Plugins
|
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< number > | DamageStatistic (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< number > | MinMaxElementDiameter (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) |
void ug::SmallStrainMechanics::AveragePositions | ( | MathVector< dim > & | vCenter, |
const std::vector< MathVector< dim > > & | vCornerCoords | ||
) |
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 |
||
) |
References ug::CollectCornerCoordinates(), dim, grid(), PROFILE_BEGIN_GROUP, ug::ProjectPointToPlane(), s, UG_THROW, and ug::VecScaleAdd().
Referenced by InitLaplacian_LeastSquares(), InitLaplacian_TaylorDirect(), and InitLaplacian_TaylorExpansion().
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 | ||
) |
References ug::SurfaceView::ALL, dim, grid(), PROFILE_BEGIN_GROUP, s, and UG_THROW.
Referenced by MarkForAdaption_ValueRangeIndicator().
std::vector< number > ug::SmallStrainMechanics::DamageStatistic | ( | SmartPtr< GridFunction< TDomain, CPUAlgebra > > | spF, |
SmartPtr< GridFunction< TDomain, CPUAlgebra > > | spPsi0 | ||
) |
References dim, ug::DoFRef(), ug::ElementDiameterSq(), PROFILE_FUNC_GROUP, and UG_THROW.
void ug::SmallStrainMechanics::HadamardProd | ( | SmartPtr< GridFunction< TDomain, CPUAlgebra > > | spFPsi0, |
ConstSmartPtr< GridFunction< TDomain, CPUAlgebra > > | spF, | ||
ConstSmartPtr< GridFunction< TDomain, CPUAlgebra > > | spPsi0 | ||
) |
References UG_THROW.
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 |
||
) |
References ug::SurfaceView::ALL, CollectStencilNeighbors_NeumannZeroBND_IndexAndDistance(), dim, grid(), ug::Invert(), PROFILE_BEGIN_GROUP, UG_THROW, and ug::VecTwoNormSq().
Referenced by ug::SmallStrainMechanics::RelativeDensityUpdater< TDomain >::solve(), and ug::SmallStrainMechanics::DamageFunctionUpdater< TDomain >::solve().
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 |
||
) |
References ug::SurfaceView::ALL, ug::CollectCornerCoordinates(), dim, grid(), PROFILE_BEGIN_GROUP, ug::ProjectPointToPlane(), s, UG_THROW, ug::VecDot(), ug::VecScaleAdd(), and ug::VecTwoNormSq().
Referenced by ug::SmallStrainMechanics::RelativeDensityUpdater< TDomain >::solve(), and ug::SmallStrainMechanics::DamageFunctionUpdater< TDomain >::solve().
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 |
||
) |
References ug::SurfaceView::ALL, CollectStencilNeighbors_NeumannZeroBND_IndexAndDistance(), dim, grid(), ug::Invert(), PROFILE_BEGIN_GROUP, and UG_THROW.
Referenced by ug::SmallStrainMechanics::RelativeDensityUpdater< TDomain >::solve(), and ug::SmallStrainMechanics::DamageFunctionUpdater< TDomain >::solve().
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 |
||
) |
References ug::SurfaceView::ALL, CollectStencilNeighbors_NeumannZeroBND_IndexAndDistance(), dim, grid(), ug::Invert(), PROFILE_BEGIN_GROUP, UG_THROW, and ug::VecTwoNorm().
Referenced by ug::SmallStrainMechanics::RelativeDensityUpdater< TDomain >::solve(), and ug::SmallStrainMechanics::DamageFunctionUpdater< TDomain >::solve().
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 | ||
) |
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 | ||
) |
void ug::SmallStrainMechanics::MarkForAdaption_PlasticElem | ( | IRefiner & | refiner, |
GridFunction< TDomain, TAlgebra > & | u, | ||
SmallStrainMechanicsElemDisc< TDomain > & | elemDisc | ||
) |
References pcl::ProcessCommunicator::allreduce(), ug::GridFunction< class, class >::dof_distribution(), ug::GridFunction< class, class >::domain(), element_type(), ug::GetLocalVector(), ug::GridFunction< class, class >::indices(), ug::IRefiner::mark(), pcl::NumProcs(), PCL_RO_SUM, pcl::ProcRank(), ug::LocalVector::resize(), ug::RM_REFINE, and UG_LOG.
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 | ||
) |
std::vector<number> ug::SmallStrainMechanics::MinMaxElementDiameter | ( | SmartPtr< GridFunction< TDomain, CPUAlgebra > > | spF | ) |
References pcl::ProcessCommunicator::allreduce(), dim, ug::ElementDiameterSq(), grid(), PCL_RO_MAX, PCL_RO_MIN, and PROFILE_FUNC_GROUP.
void ug::SmallStrainMechanics::plastic_ip_elem | ( | bool & | bPlasticIPs, |
TElem * | elem, | ||
const LocalVector & | locU, | ||
SmartPtr< TDomain > | dom, | ||
SmallStrainMechanicsElemDisc< TDomain > & | elemDisc | ||
) |
References dim, ug::SmallStrainMechanics::SmallStrainMechanicsElemDisc< TDomain >::get_material_law(), ug::SmallStrainMechanics::SmallStrainMechanicsElemDisc< TDomain >::get_quad_order(), ug::LFEID::LAGRANGE, ug::DimFEGeometry< TWorldDim, TRefDim >::num_ip(), UG_CATCH_THROW, UG_THROW, and ug::DimFEGeometry< TWorldDim, TRefDim >::update().