![]() |
v0.16.0 |
Recover the stretch tensor from a prescribed Biot stress. More...
Public Member Functions | |
| MoFEMErrorCode | evaluateRhs () |
| MoFEMErrorCode | evaluateLhs () |
| MoFEMErrorCode | evaluateFullLhs () |
| double | evaluateComplementaryPotential () const |
| MoFEMErrorCode | calculateStretch () |
| MoFEMErrorCode | calculateBiotStretch () |
| MoFEMErrorCode | calculateDHenckyStreachDBiotStress () |
| MoFEMErrorCode | logSnesFailure (const PetscErrorCode snes_solve_error, const PetscErrorCode accepted_state_error, const PetscErrorCode reason_query_error) |
| MoFEMErrorCode | setUPSnes () |
Static Public Member Functions | |
| static MoFEMErrorCode | snesObjective (SNES snes, Vec x, PetscReal *objective, void *ctx) |
| static MoFEMErrorCode | snesRhs (SNES snes, Vec x, Vec r, void *ctx) |
| static MoFEMErrorCode | snesLhs (SNES snes, Vec x, Mat A, Mat B, void *ctx) |
Public Attributes | |
| FTensor::Tensor2_symmetric< T_Biota, 3 > | tBiotStress |
| FTensor::Tensor2_symmetric< T_Stretch, 3 > | tBiotStreach |
| FTensor::Tensor2_symmetric< double, 3 > | tHenckyStreach |
| FTensor::Ddg< double, 3, 3 > | tDRe |
| FTensor::Ddg< double, 3, 3 > | tDHenckyStreachDBiotStress |
| FTensor::Tensor1< double, 3 > | tBiotStressEigenVals |
| FTensor::Tensor1< double, 3 > | tHenckyStreachEigenVals |
| FTensor::Tensor2< double, 3, 3 > | tBiotStressEigenVecs |
| FTensor::Tensor1< double, SPACE_DIM > | tReVec |
| MatrixDouble | tPrincipalDReMat |
| MatrixDouble | tDReMat |
| MatrixDouble | tDHenckyStreachDBiotStressMat |
| FTensor::Tensor1< double, SPACE_DIM > | tStretchVec |
| SNES unknown: principal Hencky stretches. | |
| SmartPetscObj< Mat > | A |
| SmartPetscObj< Vec > | R |
| SmartPetscObj< Vec > | Chi |
| SmartPetscObj< SNES > | sNes |
| double | c10 |
| double | K |
| double | externalPressure = 0 |
| int | max_iter = 100 |
| double | tol = 1e-12 |
| double | minimEigenValue = 0. |
| bool | allowNonConverged = true |
| double | minimumComplementaryHessianEigenvalue |
| double | complementaryHessianSpectralRadius = 0. |
Recover the stretch tensor from a prescribed Biot stress.
After diagonalising the Biot stress, the principal Hencky stretches \(h_a = \log(\lambda_a)\) are found from
\[ \mathcal{R}_a(\boldsymbol{h}) = s_a e^{h_a} - \tau_a + q = 0, \qquad \tau_a = 2c_{10}J^{-2/3} \left(e^{2h_a} - \frac{I_1}{3}\right) + KJ(J-1), \quad I_1 = \sum_b e^{2h_b}, \]
where \(s_a\) is a principal Biot stress and \(q=3K_{\rm ext}\varepsilon_{\rm ext}\) is prescribed at the integration point. The recovered stretch is \(\mathbf{U} = \mathbf{Q}\,\mathrm{diag}(e^{h_a})\mathbf{Q}^T\).
Definition at line 383 of file HMHNeohookean.cpp.
| MoFEMErrorCode EshelbianPlasticity::HMHNeohookean::CalculateStretchFromStress< T_Biota, T_Stretch >::calculateBiotStretch | ( | ) |
Definition at line 1408 of file HMHNeohookean.cpp.
| MoFEMErrorCode EshelbianPlasticity::HMHNeohookean::CalculateStretchFromStress< T_Biota, T_Stretch >::calculateDHenckyStreachDBiotStress | ( | ) |
Definition at line 1421 of file HMHNeohookean.cpp.
| MoFEMErrorCode EshelbianPlasticity::HMHNeohookean::CalculateStretchFromStress< T_Biota, T_Stretch >::calculateStretch | ( | ) |
Definition at line 1775 of file HMHNeohookean.cpp.
| double EshelbianPlasticity::HMHNeohookean::CalculateStretchFromStress< T_Biota, T_Stretch >::evaluateComplementaryPotential | ( | ) | const |
Definition at line 1229 of file HMHNeohookean.cpp.
| MoFEMErrorCode EshelbianPlasticity::HMHNeohookean::CalculateStretchFromStress< T_Biota, T_Stretch >::evaluateFullLhs | ( | ) |
Definition at line 1334 of file HMHNeohookean.cpp.
| MoFEMErrorCode EshelbianPlasticity::HMHNeohookean::CalculateStretchFromStress< T_Biota, T_Stretch >::evaluateLhs | ( | ) |
Definition at line 1259 of file HMHNeohookean.cpp.
| MoFEMErrorCode EshelbianPlasticity::HMHNeohookean::CalculateStretchFromStress< T_Biota, T_Stretch >::evaluateRhs | ( | ) |
Definition at line 1241 of file HMHNeohookean.cpp.
| MoFEMErrorCode EshelbianPlasticity::HMHNeohookean::CalculateStretchFromStress< T_Biota, T_Stretch >::logSnesFailure | ( | const PetscErrorCode | snes_solve_error, |
| const PetscErrorCode | accepted_state_error, | ||
| const PetscErrorCode | reason_query_error | ||
| ) |
Definition at line 1663 of file HMHNeohookean.cpp.
| MoFEMErrorCode EshelbianPlasticity::HMHNeohookean::CalculateStretchFromStress< T_Biota, T_Stretch >::setUPSnes | ( | ) |
Definition at line 1486 of file HMHNeohookean.cpp.
|
static |
Definition at line 1623 of file HMHNeohookean.cpp.
|
static |
Definition at line 1569 of file HMHNeohookean.cpp.
|
static |
Definition at line 1594 of file HMHNeohookean.cpp.
| SmartPetscObj<Mat> EshelbianPlasticity::HMHNeohookean::CalculateStretchFromStress< T_Biota, T_Stretch >::A |
Definition at line 415 of file HMHNeohookean.cpp.
| bool EshelbianPlasticity::HMHNeohookean::CalculateStretchFromStress< T_Biota, T_Stretch >::allowNonConverged = true |
Definition at line 425 of file HMHNeohookean.cpp.
Definition at line 419 of file HMHNeohookean.cpp.
| SmartPetscObj<Vec> EshelbianPlasticity::HMHNeohookean::CalculateStretchFromStress< T_Biota, T_Stretch >::Chi |
Definition at line 417 of file HMHNeohookean.cpp.
| double EshelbianPlasticity::HMHNeohookean::CalculateStretchFromStress< T_Biota, T_Stretch >::complementaryHessianSpectralRadius = 0. |
Definition at line 428 of file HMHNeohookean.cpp.
| double EshelbianPlasticity::HMHNeohookean::CalculateStretchFromStress< T_Biota, T_Stretch >::externalPressure = 0 |
Definition at line 421 of file HMHNeohookean.cpp.
Definition at line 420 of file HMHNeohookean.cpp.
| int EshelbianPlasticity::HMHNeohookean::CalculateStretchFromStress< T_Biota, T_Stretch >::max_iter = 100 |
Definition at line 422 of file HMHNeohookean.cpp.
| double EshelbianPlasticity::HMHNeohookean::CalculateStretchFromStress< T_Biota, T_Stretch >::minimEigenValue = 0. |
Definition at line 424 of file HMHNeohookean.cpp.
| double EshelbianPlasticity::HMHNeohookean::CalculateStretchFromStress< T_Biota, T_Stretch >::minimumComplementaryHessianEigenvalue |
Definition at line 426 of file HMHNeohookean.cpp.
| SmartPetscObj<Vec> EshelbianPlasticity::HMHNeohookean::CalculateStretchFromStress< T_Biota, T_Stretch >::R |
Definition at line 416 of file HMHNeohookean.cpp.
| SmartPetscObj<SNES> EshelbianPlasticity::HMHNeohookean::CalculateStretchFromStress< T_Biota, T_Stretch >::sNes |
Definition at line 418 of file HMHNeohookean.cpp.
| FTensor::Tensor2_symmetric<T_Stretch, 3> EshelbianPlasticity::HMHNeohookean::CalculateStretchFromStress< T_Biota, T_Stretch >::tBiotStreach |
Definition at line 402 of file HMHNeohookean.cpp.
| FTensor::Tensor2_symmetric<T_Biota, 3> EshelbianPlasticity::HMHNeohookean::CalculateStretchFromStress< T_Biota, T_Stretch >::tBiotStress |
Definition at line 401 of file HMHNeohookean.cpp.
| FTensor::Tensor1<double, 3> EshelbianPlasticity::HMHNeohookean::CalculateStretchFromStress< T_Biota, T_Stretch >::tBiotStressEigenVals |
Definition at line 406 of file HMHNeohookean.cpp.
| FTensor::Tensor2<double, 3, 3> EshelbianPlasticity::HMHNeohookean::CalculateStretchFromStress< T_Biota, T_Stretch >::tBiotStressEigenVecs |
Definition at line 408 of file HMHNeohookean.cpp.
| FTensor::Ddg<double, 3, 3> EshelbianPlasticity::HMHNeohookean::CalculateStretchFromStress< T_Biota, T_Stretch >::tDHenckyStreachDBiotStress |
Definition at line 405 of file HMHNeohookean.cpp.
| MatrixDouble EshelbianPlasticity::HMHNeohookean::CalculateStretchFromStress< T_Biota, T_Stretch >::tDHenckyStreachDBiotStressMat |
Definition at line 412 of file HMHNeohookean.cpp.
| FTensor::Ddg<double, 3, 3> EshelbianPlasticity::HMHNeohookean::CalculateStretchFromStress< T_Biota, T_Stretch >::tDRe |
Definition at line 404 of file HMHNeohookean.cpp.
| MatrixDouble EshelbianPlasticity::HMHNeohookean::CalculateStretchFromStress< T_Biota, T_Stretch >::tDReMat |
Definition at line 411 of file HMHNeohookean.cpp.
| FTensor::Tensor2_symmetric<double, 3> EshelbianPlasticity::HMHNeohookean::CalculateStretchFromStress< T_Biota, T_Stretch >::tHenckyStreach |
Definition at line 403 of file HMHNeohookean.cpp.
| FTensor::Tensor1<double, 3> EshelbianPlasticity::HMHNeohookean::CalculateStretchFromStress< T_Biota, T_Stretch >::tHenckyStreachEigenVals |
Definition at line 407 of file HMHNeohookean.cpp.
| double EshelbianPlasticity::HMHNeohookean::CalculateStretchFromStress< T_Biota, T_Stretch >::tol = 1e-12 |
Definition at line 423 of file HMHNeohookean.cpp.
| MatrixDouble EshelbianPlasticity::HMHNeohookean::CalculateStretchFromStress< T_Biota, T_Stretch >::tPrincipalDReMat |
Definition at line 410 of file HMHNeohookean.cpp.
| FTensor::Tensor1<double, SPACE_DIM> EshelbianPlasticity::HMHNeohookean::CalculateStretchFromStress< T_Biota, T_Stretch >::tReVec |
Definition at line 409 of file HMHNeohookean.cpp.
| FTensor::Tensor1<double, SPACE_DIM> EshelbianPlasticity::HMHNeohookean::CalculateStretchFromStress< T_Biota, T_Stretch >::tStretchVec |
SNES unknown: principal Hencky stretches.
Definition at line 414 of file HMHNeohookean.cpp.