v0.16.3
Loading...
Searching...
No Matches
Classes | Namespaces | Typedefs | Functions | Variables
PlasticIncrementalOptimizationInternal.hpp File Reference

Shared implementation details for plastic incremental optimization. More...

Go to the source code of this file.

Classes

class  EshelbianPlasticity::PlasticIncrementalOptimizationInternal::PetscRestoreGuard< Restore >
 

Namespaces

namespace  EshelbianPlasticity
 
namespace  EshelbianPlasticity::PlasticIncrementalOptimizationInternal
 

Typedefs

using EshelbianPlasticity::PlasticIncrementalOptimizationInternal::PackedPlasticCoordinates = std::array< double, plasticLogarithmicStretchCoordinateSize >
 
using EshelbianPlasticity::PlasticIncrementalOptimizationInternal::PlasticHistory = std::map< EntityHandle, PackedPlasticCoordinates >
 
using EshelbianPlasticity::PlasticIncrementalOptimizationInternal::PlasticKappaHistory = std::map< EntityHandle, double >
 

Functions

template<typename T >
FTensor::Tensor2_symmetric< double, SPACE_DIMEshelbianPlasticity::PlasticIncrementalOptimizationInternal::plasticLogarithmicStretchTensorFromCoordinates (const FTensor::Tensor1< T, plasticLogarithmicStretchCoordinateSize > &t_coordinates)
 
template<typename T >
FTensor::Tensor1< double, plasticLogarithmicStretchCoordinateSizeEshelbianPlasticity::PlasticIncrementalOptimizationInternal::plasticLogarithmicStretchCoordinatesFromTensor (const FTensor::Tensor2_symmetric< T, SPACE_DIM > &t_values)
 
template<typename T >
FTensor::Tensor1< double, plasticLogarithmicStretchCoordinateSizeEshelbianPlasticity::PlasticIncrementalOptimizationInternal::plasticLogarithmicStretchCoordinatesFromTensor (const FTensor::Tensor2< T, SPACE_DIM, SPACE_DIM > &t_values)
 
template<typename T >
double EshelbianPlasticity::PlasticIncrementalOptimizationInternal::plasticCoordinateNorm (const FTensor::Tensor1< T, plasticLogarithmicStretchCoordinateSize > &t_values)
 
template<typename T >
double EshelbianPlasticity::PlasticIncrementalOptimizationInternal::plasticFrobeniusNorm (const FTensor::Tensor2_symmetric< T, SPACE_DIM > &t_values)
 
double EshelbianPlasticity::PlasticIncrementalOptimizationInternal::plasticEquivalentIncrement (const double coordinate_norm, const double epsilon)
 
MoFEMErrorCode EshelbianPlasticity::PlasticIncrementalOptimizationInternal::savePlasticHistory (EshelbianCore &ep, PlasticHistory &history)
 
MoFEMErrorCode EshelbianPlasticity::PlasticIncrementalOptimizationInternal::setPlasticHistory (EshelbianCore &ep, const PlasticHistory &history, const FTensor::Tensor2_symmetric< double, SPACE_DIM > &t_direction, const double scale)
 
MoFEMErrorCode EshelbianPlasticity::PlasticIncrementalOptimizationInternal::savePlasticKappaHistory (EshelbianCore &ep, PlasticKappaHistory &history)
 
MoFEMErrorCode EshelbianPlasticity::PlasticIncrementalOptimizationInternal::setPlasticKappaHistory (EshelbianCore &ep, const PlasticKappaHistory &history)
 
MoFEMErrorCode EshelbianPlasticity::PlasticIncrementalOptimizationInternal::clearPlasticIncrementFields (EshelbianCore &ep)
 
MoFEMErrorCode EshelbianPlasticity::PlasticIncrementalOptimizationInternal::setStateOnMesh (EshelbianCore &ep, Vec state)
 
MoFEMErrorCode EshelbianPlasticity::PlasticIncrementalOptimizationInternal::evaluatePlasticIncrementalResistanceValue (const PlasticIncrementalOptimizationProblem &problem, Vec control, double &value)
 
MoFEMErrorCode EshelbianPlasticity::PlasticIncrementalOptimizationInternal::assembleIncrementalObjectiveGradient (PlasticIncrementalOptimizationProblem &problem, Vec control, Vec smooth_gradient, Vec objective_gradient)
 
MoFEMErrorCode EshelbianPlasticity::PlasticIncrementalOptimizationInternal::initialisePlasticInequalityMultipliers (const PlasticIncrementalOptimizationProblem &problem, DM constraint_dm, Vec multipliers)
 
MoFEMErrorCode EshelbianPlasticity::PlasticIncrementalOptimizationInternal::evaluatePlasticInequalityConstraints (const PlasticIncrementalOptimizationProblem &problem, Vec control, Vec constraints)
 
MoFEMErrorCode EshelbianPlasticity::PlasticIncrementalOptimizationInternal::assemblePlasticInequalityJacobian (PlasticIncrementalOptimizationProblem &problem, Vec control, Vec smooth_gradient, Mat jacobian)
 
MoFEMErrorCode EshelbianPlasticity::PlasticIncrementalOptimizationInternal::validatePlasticIncrementalSolution (PlasticIncrementalOptimizationProblem &problem, DM constraint_dm, Vec control, Vec smooth_gradient, Vec inequality_multipliers, PetscReal gradient_tolerance, PetscReal constraint_tolerance, std::string &diagnostics)
 
MoFEMErrorCode EshelbianPlasticity::PlasticIncrementalOptimizationInternal::assemblePlasticForce (EshelbianCore &ep, Vec force)
 
MoFEMErrorCode EshelbianPlasticity::PlasticIncrementalOptimizationInternal::assembleReducedHelmholtzGradient (EshelbianCore &ep, TS ts, Vec gradient)
 

Variables

constexpr double EshelbianPlasticity::PlasticIncrementalOptimizationInternal::plasticEquivalentIncrementScale = 0.81649658092772603273
 
constexpr double EshelbianPlasticity::PlasticIncrementalOptimizationInternal::plasticEquivalentIncrementScaleSquared = 2. / 3.
 
constexpr double EshelbianPlasticity::PlasticIncrementalOptimizationInternal::plasticYieldFunctionScale = 1.22474487139158904910
 

Detailed Description

Shared implementation details for plastic incremental optimization.

Definition in file PlasticIncrementalOptimizationInternal.hpp.