micromechanical (C++)
|
load phase More...
#include <load.hpp>
Public Member Functions | |
LoadPhase (Eigen::Matrix< T, 6, 1 > initial, Eigen::Matrix< T, 6, 1 > final, Eigen::Matrix< T, 6, 1 > control, Eigen::Matrix< T, 6, 1 > total, const int &steps=100) | |
constructor | |
LoadPhase () | |
default constructor | |
virtual | ~LoadPhase ()=default |
destructor | |
bool | isCompatibleWith (const LoadPhase &previous) const |
check if the load phase is compatible with the previous load phase. A load phase is compatible with the previous load phase if initial stress/strain is the same as the final stress/strain of the previous load phase for the same control variable. | |
void | makeCompatibleWith (const LoadPhase &previous) |
make the load phase compatible with the previous load phase. The initial stress/strain is set to the final stress/strain of the previous load phase for the same control variable. | |
bool | isIsotropic (T tol=1e-6) const |
check if the load phase is isotropic | |
void | initialize (StateVariable< T > &sv) const |
initialize the state variables | |
bool | requiresFinalization () const |
check if the load phase requires finalization. | |
Eigen::Matrix< T, 6, 1 > | finalize (Eigen::Matrix< T, 6, 1 > sig) |
finalize the mixed load | |
Static Public Member Functions | |
static LoadPhase | isotropic (T sigc, int steps) |
isotropic load phase | |
static LoadPhase | drainedTriaxial (T sigc, T epsa_max, int steps) |
drained triaxial load phase | |
static LoadPhase | undrainedTriaxial (T epsa_max, int steps) |
undrained triaxial load phase | |
static LoadPhase | undrainedTriaxialWithoutShear (T epsa_max, int steps) |
undrained triaxial load phase with controlling the shear strain | |
static LoadPhase | trueTriaxialWithConstantShear (T p, T b, int steps) |
true triaxial load phase with constant shear | |
static LoadPhase | trueTriaxial (T sig3, T b, T epsa_max, int steps) |
true triaxial load phase | |
static LoadPhase | confinement (T epsa_max, int steps) |
confinement load phase | |
Public Attributes | |
Eigen::Matrix< T, 6, 1 > | initial |
initial loading | |
Eigen::Matrix< T, 6, 1 > | final |
final loading | |
Eigen::Matrix< T, 6, 1 > | control |
control type of the load, 0 for stress, 1 for strain, -1 for ignored | |
Eigen::Matrix< T, 6, 1 > | total |
control whether the load is total or incremental, 0 for incremental, 1 for total | |
int | steps |
number of steps | |
T | b = -1.0 |
intermediate stress ratio | |
load phase
|
inline |
constructor
initial | initial loading |
final | final loading |
control | control variable for the load, 0 for stress, 1 for strain, -1 for ignored |
total | control whether the load is total or incremental, 0 for incremental, 1 for total |
steps | number of steps |
References control, final, initial, steps, and total.
Referenced by confinement(), drainedTriaxial(), isCompatibleWith(), isotropic(), makeCompatibleWith(), trueTriaxial(), trueTriaxialWithConstantShear(), undrainedTriaxial(), and undrainedTriaxialWithoutShear().
|
inline |
|
virtualdefault |
destructor
|
inlinestatic |
confinement load phase
epsa_max | maximum strain |
steps | number of steps |
References control, initial, LoadPhase(), steps, and total.
|
inlinestatic |
drained triaxial load phase
sigc | confined stress |
epsa_max | maximum strain |
steps | number of steps |
References control, initial, LoadPhase(), steps, and total.
Referenced by trueTriaxial().
|
inline |
finalize the mixed load
sig | stress |
References requiresFinalization().
|
inline |
initialize the state variables
sv | state variables |
References micromechanical::core::StateVariable< T >::eps, and micromechanical::core::StateVariable< T >::sig.
|
inline |
check if the load phase is compatible with the previous load phase. A load phase is compatible with the previous load phase if initial stress/strain is the same as the final stress/strain of the previous load phase for the same control variable.
previous | previous load phase |
References control, final, LoadPhase(), and total.
|
inline |
check if the load phase is isotropic
tol | absolute tolerance |
|
inlinestatic |
isotropic load phase
sigc | confined stress |
steps | number of steps |
References control, initial, LoadPhase(), steps, and total.
|
inline |
make the load phase compatible with the previous load phase. The initial stress/strain is set to the final stress/strain of the previous load phase for the same control variable.
previous | previous load phase |
References control, final, initial, LoadPhase(), and total.
|
inline |
check if the load phase requires finalization.
Referenced by finalize().
|
inlinestatic |
true triaxial load phase
sig3 | minimum principal stress |
b | intermediate stress ratio |
epsa_max | maximum strain |
steps | number of steps |
References b, drainedTriaxial(), LoadPhase(), and steps.
|
inlinestatic |
|
inlinestatic |
undrained triaxial load phase
epsa_max | maximum strain |
steps | number of steps |
References control, initial, LoadPhase(), steps, and total.
Referenced by undrainedTriaxialWithoutShear().
|
inlinestatic |
undrained triaxial load phase with controlling the shear strain
epsa_max | maximum strain |
steps | number of steps |
References LoadPhase(), steps, and undrainedTriaxial().
T micromechanical::core::LoadPhase< T >::b = -1.0 |
intermediate stress ratio
Referenced by trueTriaxial(), and trueTriaxialWithConstantShear().
Eigen::Matrix<T, 6, 1> micromechanical::core::LoadPhase< T >::control |
control type of the load, 0 for stress, 1 for strain, -1 for ignored
Referenced by confinement(), drainedTriaxial(), isCompatibleWith(), isotropic(), LoadPhase(), LoadPhase(), makeCompatibleWith(), trueTriaxialWithConstantShear(), and undrainedTriaxial().
Eigen::Matrix<T, 6, 1> micromechanical::core::LoadPhase< T >::final |
final loading
Referenced by isCompatibleWith(), LoadPhase(), LoadPhase(), and makeCompatibleWith().
Eigen::Matrix<T, 6, 1> micromechanical::core::LoadPhase< T >::initial |
initial loading
Referenced by confinement(), drainedTriaxial(), isotropic(), LoadPhase(), LoadPhase(), makeCompatibleWith(), trueTriaxialWithConstantShear(), and undrainedTriaxial().
int micromechanical::core::LoadPhase< T >::steps |
number of steps
Referenced by confinement(), drainedTriaxial(), isotropic(), LoadPhase(), LoadPhase(), trueTriaxial(), trueTriaxialWithConstantShear(), undrainedTriaxial(), and undrainedTriaxialWithoutShear().
Eigen::Matrix<T, 6, 1> micromechanical::core::LoadPhase< T >::total |
control whether the load is total or incremental, 0 for incremental, 1 for total
Referenced by confinement(), drainedTriaxial(), isCompatibleWith(), isotropic(), LoadPhase(), LoadPhase(), makeCompatibleWith(), trueTriaxialWithConstantShear(), and undrainedTriaxial().