![]() |
v0.15.0 |
J2 (Von Misses) plasticity. More...
#include "users_modules/adolc-plasticity/src/ADOLCPlasticityMaterialModels.hpp"
Public Types | |
| enum | ModelParams { LAMBDA , MU , ISOH , KINK , PHI , SIGMA_Y , LAST_PARAM } |
| using | ParamsArray = std::array< double, LAST_PARAM > |
Public Types inherited from ADOLCPlasticity::ClosestPointProjection | |
| enum | TypesTags { W = 0 , Y , H , LAST_TAPE } |
Public Member Functions | |
| J2Plasticity () | |
| MoFEMErrorCode | getDefaultMaterialParameters () |
| MoFEMErrorCode | addMatBlockOps (MoFEM::Interface &m_field, boost::ptr_deque< ForcesAndSourcesCore::UserDataOperator > &pip, std::string block_name, Sev sev) |
| Get material parameters from block. | |
| MoFEMErrorCode | setParams (short tag, bool &recalculate_elastic_tangent) |
| Set material parameters at integration point. | |
| MoFEMErrorCode | freeHemholtzEnergy () |
| [Free energy J2] | |
| MoFEMErrorCode | evalF () |
| [Yield function J2] | |
| MoFEMErrorCode | yieldFunction () |
| Set yield function. | |
| MoFEMErrorCode | flowPotential () |
| [Yield function J2] | |
| MoFEMErrorCode | codedHessianW (vector< double * > hessian) |
Public Member Functions inherited from ADOLCPlasticity::ClosestPointProjection | |
| 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. | |
J2 (Von Misses) plasticity.
Free energy:
\[ \psi(\varepsilon^e, \alpha, \beta) = \frac{1}{2} \lambda \textrm{tr}[\varepsilon^e]^2 + \mu \varepsilon^e : \varepsilon^e + \sigma_y\alpha + \frac{1}{2} \phi H \alpha^2 + \frac{1}{2} (1-\phi)K \beta^2 \]
Isotropic hardening variable \(\alpha\) is in first index of internal variables vector. Kinematic hardening variable is in the remaining indices of internal variables vector.
Yield function:
Deviator of actual stress:
\[ \eta=\textrm{dev}[\sigma]-\overline{\beta} \]
where \(\overline{\beta}\) is back stress.
Square of the deviator norm
\[ f = \frac{3}{2} \eta:\eta \]
Yield function:
\[ y = \sqrt{f} - \overline{\alpha} \]
where \(f\) is defined in eva
This is associated potential model, so flow potential is equal to yield
Definition at line 73 of file ADOLCPlasticityMaterialModels.hpp.
| using ADOLCPlasticity::J2Plasticity< 3 >::ParamsArray = std::array<double, LAST_PARAM> |
Definition at line 103 of file ADOLCPlasticityMaterialModels.hpp.
| enum ADOLCPlasticity::J2Plasticity< 3 >::ModelParams |
| Enumerator | |
|---|---|
| LAMBDA | |
| MU | |
| ISOH | |
| KINK | |
| PHI | |
| SIGMA_Y | |
| LAST_PARAM | |
Definition at line 101 of file ADOLCPlasticityMaterialModels.hpp.
|
inline |
Definition at line 75 of file ADOLCPlasticityMaterialModels.hpp.
|
inlinevirtual |
Get material parameters from block.
| m_field | |
| pip | |
| block_name | |
| sev |
Reimplemented from ADOLCPlasticity::ClosestPointProjection.
Definition at line 175 of file ADOLCPlasticityMaterialModels.hpp.
|
inlinevirtual |
Reimplemented from ADOLCPlasticity::ClosestPointProjection.
Definition at line 408 of file ADOLCPlasticityMaterialModels.hpp.
|
inline |
[Yield function J2]
Definition at line 373 of file ADOLCPlasticityMaterialModels.hpp.
|
inlinevirtual |
[Yield function J2]
Implements ADOLCPlasticity::ClosestPointProjection.
Definition at line 401 of file ADOLCPlasticityMaterialModels.hpp.
|
inlinevirtual |
[Free energy J2]
Implements ADOLCPlasticity::ClosestPointProjection.
Definition at line 324 of file ADOLCPlasticityMaterialModels.hpp.
|
inline |
Definition at line 108 of file ADOLCPlasticityMaterialModels.hpp.
|
inlinevirtual |
Set material parameters at integration point.
| tag | |
| recalculate_elastic_tangent |
Reimplemented from ADOLCPlasticity::ClosestPointProjection.
Definition at line 297 of file ADOLCPlasticityMaterialModels.hpp.
|
inlinevirtual |
Set yield function.
Implements ADOLCPlasticity::ClosestPointProjection.
Definition at line 393 of file ADOLCPlasticityMaterialModels.hpp.
| boost::shared_ptr<ParamsArray> ADOLCPlasticity::J2Plasticity< 3 >::defaultParamsArrayPtr = nullptr |
Definition at line 104 of file ADOLCPlasticityMaterialModels.hpp.
| adouble ADOLCPlasticity::J2Plasticity< 3 >::f |
[Free energy J2]
Definition at line 370 of file ADOLCPlasticityMaterialModels.hpp.
| double ADOLCPlasticity::J2Plasticity< 3 >::H |
Definition at line 96 of file ADOLCPlasticityMaterialModels.hpp.
| FTensor::Index<'i', 3> ADOLCPlasticity::J2Plasticity< 3 >::i |
Definition at line 80 of file ADOLCPlasticityMaterialModels.hpp.
| FTensor::Index<'j', 3> ADOLCPlasticity::J2Plasticity< 3 >::j |
Definition at line 81 of file ADOLCPlasticityMaterialModels.hpp.
| double ADOLCPlasticity::J2Plasticity< 3 >::K |
Definition at line 97 of file ADOLCPlasticityMaterialModels.hpp.
| double ADOLCPlasticity::J2Plasticity< 3 >::lambda |
Definition at line 95 of file ADOLCPlasticityMaterialModels.hpp.
| double ADOLCPlasticity::J2Plasticity< 3 >::mu |
Definition at line 94 of file ADOLCPlasticityMaterialModels.hpp.
| boost::shared_ptr<ParamsArray> ADOLCPlasticity::J2Plasticity< 3 >::oldParamsArrayPtr = nullptr |
Definition at line 106 of file ADOLCPlasticityMaterialModels.hpp.
| boost::shared_ptr<ParamsArray> ADOLCPlasticity::J2Plasticity< 3 >::paramsArrayPtr = nullptr |
Definition at line 105 of file ADOLCPlasticityMaterialModels.hpp.
| double ADOLCPlasticity::J2Plasticity< 3 >::phi |
Definition at line 98 of file ADOLCPlasticityMaterialModels.hpp.
| double ADOLCPlasticity::J2Plasticity< 3 >::sigmaY |
Definition at line 99 of file ADOLCPlasticityMaterialModels.hpp.
| FTensor::Tensor2_symmetric<adouble, 3> ADOLCPlasticity::J2Plasticity< 3 >::tBackStress |
Definition at line 89 of file ADOLCPlasticityMaterialModels.hpp.
| FTensor::Tensor2_symmetric<adouble, 3> ADOLCPlasticity::J2Plasticity< 3 >::tDeviator |
Definition at line 90 of file ADOLCPlasticityMaterialModels.hpp.
| FTensor::Tensor2_symmetric<adouble, 3> ADOLCPlasticity::J2Plasticity< 3 >::tElasticStrain |
Definition at line 86 of file ADOLCPlasticityMaterialModels.hpp.
| FTensor::Tensor2_symmetric<adouble, 3> ADOLCPlasticity::J2Plasticity< 3 >::tInternalTensor |
Definition at line 87 of file ADOLCPlasticityMaterialModels.hpp.
| FTensor::Tensor2_symmetric<adouble, 3> ADOLCPlasticity::J2Plasticity< 3 >::tPlasticStrain |
Definition at line 85 of file ADOLCPlasticityMaterialModels.hpp.
| adouble ADOLCPlasticity::J2Plasticity< 3 >::tR |
Definition at line 92 of file ADOLCPlasticityMaterialModels.hpp.
| FTensor::Tensor2_symmetric<adouble, 3> ADOLCPlasticity::J2Plasticity< 3 >::tStress |
Definition at line 88 of file ADOLCPlasticityMaterialModels.hpp.
| FTensor::Tensor2_symmetric<adouble, 3> ADOLCPlasticity::J2Plasticity< 3 >::tTotalStrain |
Definition at line 84 of file ADOLCPlasticityMaterialModels.hpp.
| FTensor::Index<'Z', 6> ADOLCPlasticity::J2Plasticity< 3 >::Z |
Definition at line 82 of file ADOLCPlasticityMaterialModels.hpp.