v0.14.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. More... | |
MoFEMErrorCode | setParams (short tag, bool &recalculate_elastic_tangent) |
Set material parameters at integration point. More... | |
MoFEMErrorCode | freeHemholtzEnergy () |
[Free energy J2] More... | |
MoFEMErrorCode | evalF () |
[Yield function J2] More... | |
MoFEMErrorCode | yieldFunction () |
Set yield function. More... | |
MoFEMErrorCode | flowPotential () |
[Yield function J2] More... | |
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. More... | |
MoFEMErrorCode | recordY () |
Record yield function. More... | |
MoFEMErrorCode | recordH () |
Record flow potential. More... | |
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. More... | |
MoFEMErrorCode | solveClosetProjection () |
Solve nonlinear system of equations to find stress, internal fluxes, and Lagrange plastic multiplier. More... | |
MoFEMErrorCode | consistentTangent () |
Calculate consistent tangent matrix. More... | |
MoFEMErrorCode | recordTapes () |
Record tapes. More... | |
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.
|
inline |
|
inlinevirtual |
[Yield function J2]
Implements ADOLCPlasticity::ClosestPointProjection.
Definition at line 401 of file ADOLCPlasticityMaterialModels.hpp.
|
inlinevirtual |
[Free energy J2]
Implements ADOLCPlasticity::ClosestPointProjection.
Reimplemented in ADOLCPlasticity::J2Plasticity< 2 >.
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.