![]() |
v0.15.0 |
Closest point projection algorithm. More...
#include "users_modules/adolc-plasticity/src/ADOLCPlasticity.hpp"
Public Types | |
enum | TypesTags { W = 0 , Y , H , LAST_TAPE } |
Public Member Functions | |
VectorAdaptor | getPlasticStrain () |
VectorAdaptor | getTotalStrain () |
VectorAdaptor | getInternalVariables () |
VectorAdaptor | getActiveVariablesYH () |
VectorAdaptor | getStress () |
VectorAdaptor | getInternalFluxes () |
ClosestPointProjection () | |
MoFEMErrorCode | recordW () |
Record strain energy. | |
MoFEMErrorCode | recordY () |
Record yield function. | |
MoFEMErrorCode | recordH () |
Record flow potential. | |
MoFEMErrorCode | playW () |
MoFEMErrorCode | playW_NoHessian () |
MoFEMErrorCode | playY () |
MoFEMErrorCode | playY_NoGradient () |
MoFEMErrorCode | playH () |
MoFEMErrorCode | playH_NoHessian () |
MoFEMErrorCode | createMatAVecR () |
MoFEMErrorCode | evaluatePotentials () |
MoFEMErrorCode | playPotentials () |
MoFEMErrorCode | playPotentials_NoHessian () |
MoFEMErrorCode | calculateR (Vec R) |
MoFEMErrorCode | calculateA () |
MoFEMErrorCode | snesCreate () |
Create nested snes. | |
MoFEMErrorCode | solveClosestProjection () |
Solve nonlinear system of equations to find stress, internal fluxes, and Lagrange plastic multiplier. | |
MoFEMErrorCode | consistentTangent () |
Calculate consistent tangent matrix. | |
MoFEMErrorCode | recordTapes () |
Record tapes. | |
virtual MoFEMErrorCode | addMatBlockOps (MoFEM::Interface &m_field, boost::ptr_deque< ForcesAndSourcesCore::UserDataOperator > &pip, std::string block_name, Sev sev) |
Get model parameters from blocks. | |
virtual MoFEMErrorCode | setParams (short tag, bool &recalculate_elastic_tangent) |
Set parameters for ADOL-C of constitutive relations. | |
virtual MoFEMErrorCode | freeHemholtzEnergy ()=0 |
Set Hemholtz energy. | |
virtual MoFEMErrorCode | yieldFunction ()=0 |
Set yield function. | |
virtual MoFEMErrorCode | flowPotential ()=0 |
Set flow potential. | |
virtual MoFEMErrorCode | codedHessianW (vector< double * >) |
Public Attributes | |
int | nbInternalVariables |
boost::function< int(int, int, int)> | integrationRule |
VectorDouble | internalVariables0 |
VectorDouble | plasticStrain0 |
std::array< int, LAST_TAPE > | tapesTags |
VectorAdaptor | activeVariablesW |
VectorAdaptor | gradientW |
double | w |
double | y |
double | h |
double | deltaGamma |
MatrixDouble | Ep |
MatrixDouble | Cp |
MatrixDouble | Cep |
ublas::symmetric_matrix< double, ublas::lower > | C |
ublas::symmetric_matrix< double, ublas::lower > | D |
PetscBool | implHessianW |
MatrixDouble | hessianW |
VectorDouble | gradientY |
VectorDouble | gradientH |
MatrixDouble | hessianH |
MatrixDouble | partialWStrainPlasticStrain |
VectorAdaptor | partialYSigma |
VectorAdaptor | partialYFlux |
VectorAdaptor | partialHSigma |
VectorAdaptor | partialHFlux |
ublas::symmetric_matrix< double, ublas::lower > | partial2HSigma |
ublas::symmetric_matrix< double, ublas::lower > | partial2HFlux |
MatrixDouble | partial2HSigmaFlux |
SmartPetscObj< Mat > | A |
SmartPetscObj< Vec > | R |
SmartPetscObj< Vec > | Chi |
SmartPetscObj< Vec > | dChi |
ublas::matrix< double, ublas::column_major > | dataA |
SmartPetscObj< SNES > | sNes |
ublas::vector< adouble > | a_sTrain |
ublas::vector< adouble > | a_plasticStrain |
ublas::vector< adouble > | a_internalVariables |
ublas::vector< adouble > | a_sTress |
ublas::vector< adouble > | a_internalFluxes |
adouble | a_w |
adouble | a_y |
adouble | a_h |
Friends | |
MoFEMErrorCode | ADOLCPlasticityRes (SNES snes, Vec chi, Vec r, void *ctx) |
Function executed by nested SENES at evaluationg residual. | |
MoFEMErrorCode | ADOLCPlasticityJac (SNES snes, Vec chi, Mat A, Mat, void *ctx) |
Function executed by nested SENES at evaluationg tangent matrix. | |
Closest point projection algorithm.
Definition at line 145 of file ADOLCPlasticity.hpp.
Enumerator | |
---|---|
W | |
Y | |
H | |
LAST_TAPE |
Definition at line 174 of file ADOLCPlasticity.hpp.
ADOLCPlasticity::ClosestPointProjection::ClosestPointProjection | ( | ) |
Definition at line 15 of file ClosestPointProjection.cpp.
|
inlinevirtual |
Get model parameters from blocks.
Reimplemented in ADOLCPlasticity::HeterogeneousParaboloidalPlasticity, ADOLCPlasticity::J2Plasticity< 3 >, and ADOLCPlasticity::ParaboloidalPlasticity.
Definition at line 269 of file ADOLCPlasticity.hpp.
MoFEMErrorCode ADOLCPlasticity::ClosestPointProjection::calculateA | ( | ) |
Definition at line 393 of file ClosestPointProjection.cpp.
MoFEMErrorCode ADOLCPlasticity::ClosestPointProjection::calculateR | ( | Vec | R | ) |
Definition at line 371 of file ClosestPointProjection.cpp.
|
inlinevirtual |
Reimplemented in ADOLCPlasticity::J2Plasticity< 2 >, ADOLCPlasticity::J2Plasticity< 3 >, and ADOLCPlasticity::ParaboloidalPlasticity.
Definition at line 302 of file ADOLCPlasticity.hpp.
MoFEMErrorCode ADOLCPlasticity::ClosestPointProjection::consistentTangent | ( | ) |
Calculate consistent tangent matrix.
Definition at line 520 of file ClosestPointProjection.cpp.
MoFEMErrorCode ADOLCPlasticity::ClosestPointProjection::createMatAVecR | ( | ) |
Definition at line 325 of file ClosestPointProjection.cpp.
MoFEMErrorCode ADOLCPlasticity::ClosestPointProjection::evaluatePotentials | ( | ) |
Definition at line 346 of file ClosestPointProjection.cpp.
|
pure virtual |
Set flow potential.
Implemented in ADOLCPlasticity::J2Plasticity< 3 >, and ADOLCPlasticity::ParaboloidalPlasticity.
|
pure virtual |
Set Hemholtz energy.
Implemented in ADOLCPlasticity::J2Plasticity< 2 >, ADOLCPlasticity::J2Plasticity< 3 >, and ADOLCPlasticity::ParaboloidalPlasticity.
|
inline |
Definition at line 164 of file ADOLCPlasticity.hpp.
|
inline |
Definition at line 170 of file ADOLCPlasticity.hpp.
|
inline |
Definition at line 161 of file ADOLCPlasticity.hpp.
|
inline |
Definition at line 155 of file ADOLCPlasticity.hpp.
|
inline |
Definition at line 167 of file ADOLCPlasticity.hpp.
|
inline |
Definition at line 158 of file ADOLCPlasticity.hpp.
MoFEMErrorCode ADOLCPlasticity::ClosestPointProjection::playH | ( | ) |
Definition at line 241 of file ClosestPointProjection.cpp.
MoFEMErrorCode ADOLCPlasticity::ClosestPointProjection::playH_NoHessian | ( | ) |
Definition at line 298 of file ClosestPointProjection.cpp.
MoFEMErrorCode ADOLCPlasticity::ClosestPointProjection::playPotentials | ( | ) |
Definition at line 354 of file ClosestPointProjection.cpp.
MoFEMErrorCode ADOLCPlasticity::ClosestPointProjection::playPotentials_NoHessian | ( | ) |
Definition at line 362 of file ClosestPointProjection.cpp.
MoFEMErrorCode ADOLCPlasticity::ClosestPointProjection::playW | ( | ) |
Definition at line 125 of file ClosestPointProjection.cpp.
MoFEMErrorCode ADOLCPlasticity::ClosestPointProjection::playW_NoHessian | ( | ) |
Definition at line 183 of file ClosestPointProjection.cpp.
MoFEMErrorCode ADOLCPlasticity::ClosestPointProjection::playY | ( | ) |
Definition at line 202 of file ClosestPointProjection.cpp.
MoFEMErrorCode ADOLCPlasticity::ClosestPointProjection::playY_NoGradient | ( | ) |
Definition at line 228 of file ClosestPointProjection.cpp.
MoFEMErrorCode ADOLCPlasticity::ClosestPointProjection::recordH | ( | ) |
Record flow potential.
Definition at line 99 of file ClosestPointProjection.cpp.
MoFEMErrorCode ADOLCPlasticity::ClosestPointProjection::recordTapes | ( | ) |
Record tapes.
Definition at line 621 of file ClosestPointProjection.cpp.
MoFEMErrorCode ADOLCPlasticity::ClosestPointProjection::recordW | ( | ) |
Record strain energy.
Definition at line 43 of file ClosestPointProjection.cpp.
MoFEMErrorCode ADOLCPlasticity::ClosestPointProjection::recordY | ( | ) |
Record yield function.
Definition at line 73 of file ClosestPointProjection.cpp.
|
inlinevirtual |
Set parameters for ADOL-C of constitutive relations.
tag | [in] - tag of the tape |
recalculate_elastic_tangent | [out] - if setParam set it to true, tangent matrix for elastic domain should be recalculated |
Reimplemented in ADOLCPlasticity::J2Plasticity< 3 >, and ADOLCPlasticity::ParaboloidalPlasticity.
Definition at line 282 of file ADOLCPlasticity.hpp.
MoFEMErrorCode ADOLCPlasticity::ClosestPointProjection::snesCreate | ( | ) |
Create nested snes.
Definition at line 444 of file ClosestPointProjection.cpp.
MoFEMErrorCode ADOLCPlasticity::ClosestPointProjection::solveClosestProjection | ( | ) |
Solve nonlinear system of equations to find stress, internal fluxes, and Lagrange plastic multiplier.
Definition at line 470 of file ClosestPointProjection.cpp.
|
pure virtual |
Set yield function.
Implemented in ADOLCPlasticity::J2Plasticity< 3 >, and ADOLCPlasticity::ParaboloidalPlasticity.
|
friend |
Function executed by nested SENES at evaluationg tangent matrix.
Definition at line 595 of file ClosestPointProjection.cpp.
|
friend |
Function executed by nested SENES at evaluationg residual.
Definition at line 569 of file ClosestPointProjection.cpp.
SmartPetscObj<Mat> ADOLCPlasticity::ClosestPointProjection::A |
Definition at line 329 of file ADOLCPlasticity.hpp.
adouble ADOLCPlasticity::ClosestPointProjection::a_h |
Definition at line 342 of file ADOLCPlasticity.hpp.
ublas::vector<adouble> ADOLCPlasticity::ClosestPointProjection::a_internalFluxes |
Definition at line 339 of file ADOLCPlasticity.hpp.
ublas::vector<adouble> ADOLCPlasticity::ClosestPointProjection::a_internalVariables |
Definition at line 338 of file ADOLCPlasticity.hpp.
ublas::vector<adouble> ADOLCPlasticity::ClosestPointProjection::a_plasticStrain |
Definition at line 337 of file ADOLCPlasticity.hpp.
ublas::vector<adouble> ADOLCPlasticity::ClosestPointProjection::a_sTrain |
Definition at line 336 of file ADOLCPlasticity.hpp.
ublas::vector<adouble> ADOLCPlasticity::ClosestPointProjection::a_sTress |
Definition at line 339 of file ADOLCPlasticity.hpp.
adouble ADOLCPlasticity::ClosestPointProjection::a_w |
Definition at line 340 of file ADOLCPlasticity.hpp.
adouble ADOLCPlasticity::ClosestPointProjection::a_y |
Definition at line 341 of file ADOLCPlasticity.hpp.
VectorAdaptor ADOLCPlasticity::ClosestPointProjection::activeVariablesW |
Definition at line 179 of file ADOLCPlasticity.hpp.
ublas::symmetric_matrix<double, ublas::lower> ADOLCPlasticity::ClosestPointProjection::C |
Definition at line 188 of file ADOLCPlasticity.hpp.
MatrixDouble ADOLCPlasticity::ClosestPointProjection::Cep |
Definition at line 187 of file ADOLCPlasticity.hpp.
SmartPetscObj<Vec> ADOLCPlasticity::ClosestPointProjection::Chi |
Definition at line 331 of file ADOLCPlasticity.hpp.
MatrixDouble ADOLCPlasticity::ClosestPointProjection::Cp |
Definition at line 187 of file ADOLCPlasticity.hpp.
ublas::symmetric_matrix<double, ublas::lower> ADOLCPlasticity::ClosestPointProjection::D |
Definition at line 188 of file ADOLCPlasticity.hpp.
ublas::matrix<double, ublas::column_major> ADOLCPlasticity::ClosestPointProjection::dataA |
Definition at line 333 of file ADOLCPlasticity.hpp.
SmartPetscObj<Vec> ADOLCPlasticity::ClosestPointProjection::dChi |
Definition at line 332 of file ADOLCPlasticity.hpp.
double ADOLCPlasticity::ClosestPointProjection::deltaGamma |
Definition at line 186 of file ADOLCPlasticity.hpp.
MatrixDouble ADOLCPlasticity::ClosestPointProjection::Ep |
Definition at line 187 of file ADOLCPlasticity.hpp.
VectorDouble ADOLCPlasticity::ClosestPointProjection::gradientH |
Definition at line 215 of file ADOLCPlasticity.hpp.
VectorAdaptor ADOLCPlasticity::ClosestPointProjection::gradientW |
Definition at line 180 of file ADOLCPlasticity.hpp.
VectorDouble ADOLCPlasticity::ClosestPointProjection::gradientY |
Definition at line 211 of file ADOLCPlasticity.hpp.
double ADOLCPlasticity::ClosestPointProjection::h |
Definition at line 184 of file ADOLCPlasticity.hpp.
MatrixDouble ADOLCPlasticity::ClosestPointProjection::hessianH |
Definition at line 216 of file ADOLCPlasticity.hpp.
MatrixDouble ADOLCPlasticity::ClosestPointProjection::hessianW |
Definition at line 207 of file ADOLCPlasticity.hpp.
PetscBool ADOLCPlasticity::ClosestPointProjection::implHessianW |
Definition at line 190 of file ADOLCPlasticity.hpp.
boost::function<int(int, int, int)> ADOLCPlasticity::ClosestPointProjection::integrationRule |
Definition at line 148 of file ADOLCPlasticity.hpp.
VectorDouble ADOLCPlasticity::ClosestPointProjection::internalVariables0 |
Definition at line 152 of file ADOLCPlasticity.hpp.
int ADOLCPlasticity::ClosestPointProjection::nbInternalVariables |
Definition at line 147 of file ADOLCPlasticity.hpp.
ublas::symmetric_matrix<double, ublas::lower> ADOLCPlasticity::ClosestPointProjection::partial2HFlux |
Second partial derivative of flow potential with respect to internal fluxes
Definition at line 324 of file ADOLCPlasticity.hpp.
ublas::symmetric_matrix<double, ublas::lower> ADOLCPlasticity::ClosestPointProjection::partial2HSigma |
Second partial derivative of flow potential with respect to stresses and internal
Definition at line 321 of file ADOLCPlasticity.hpp.
MatrixDouble ADOLCPlasticity::ClosestPointProjection::partial2HSigmaFlux |
Mixed decond partial derivative of flow potential with respect to stresses and internal fluxes
Definition at line 327 of file ADOLCPlasticity.hpp.
VectorAdaptor ADOLCPlasticity::ClosestPointProjection::partialHFlux |
Definition at line 316 of file ADOLCPlasticity.hpp.
VectorAdaptor ADOLCPlasticity::ClosestPointProjection::partialHSigma |
Definition at line 314 of file ADOLCPlasticity.hpp.
MatrixDouble ADOLCPlasticity::ClosestPointProjection::partialWStrainPlasticStrain |
Definition at line 308 of file ADOLCPlasticity.hpp.
VectorAdaptor ADOLCPlasticity::ClosestPointProjection::partialYFlux |
Definition at line 312 of file ADOLCPlasticity.hpp.
VectorAdaptor ADOLCPlasticity::ClosestPointProjection::partialYSigma |
Definition at line 310 of file ADOLCPlasticity.hpp.
VectorDouble ADOLCPlasticity::ClosestPointProjection::plasticStrain0 |
Definition at line 153 of file ADOLCPlasticity.hpp.
SmartPetscObj<Vec> ADOLCPlasticity::ClosestPointProjection::R |
Definition at line 330 of file ADOLCPlasticity.hpp.
SmartPetscObj<SNES> ADOLCPlasticity::ClosestPointProjection::sNes |
Definition at line 334 of file ADOLCPlasticity.hpp.
std::array<int, LAST_TAPE> ADOLCPlasticity::ClosestPointProjection::tapesTags |
Definition at line 175 of file ADOLCPlasticity.hpp.
double ADOLCPlasticity::ClosestPointProjection::w |
Definition at line 182 of file ADOLCPlasticity.hpp.
double ADOLCPlasticity::ClosestPointProjection::y |
Definition at line 183 of file ADOLCPlasticity.hpp.