|
musica (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, const T b=-1.0, const std::string &true_triaxial_control_type="none", const int &true_triaxial_major_axis=1, const int &true_triaxial_intermediate_axis=2) | |
| 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 (const T tol=1e-6) const |
| check if the load phase is isotropic | |
| virtual void | initialize (StateVariable< T > &sv) const |
| initialize the state variables | |
| std::tuple< Eigen::Matrix< T, 6, 1 >, Eigen::Matrix< T, 6, 1 > > | finalize (const Eigen::Matrix< T, 6, 6 > &K, const Eigen::Matrix< T, 6, 6 > &S, const Eigen::Matrix< T, 6, 6 > &E, const StateVariable< T > &sv0, StateVariable< T > &sv) const |
| finalize the mixed load | |
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 | |
| std::string | true_triaxial_control_type |
| int | true_triaxial_major_axis = 1 |
| Major axis for true triaxial loading. | |
| int | true_triaxial_intermediate_axis = 2 |
| Intermediate axis for true triaxial loading. | |
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 |
| b | intermediate stress ratio |
| true_triaxial_control_type | Control type for true triaxial loading, "none" for no control, "sig1", "sig2", or sig3" for controlling the principal stresses, "no_epsv" for controlling the intermediate principal stress without generating volumetric strain |
| true_triaxial_major_axis | major axis for true triaxial loading |
| true_triaxial_intermediate_axis | intermediate axis for true triaxial loading |
References b, control, final, initial, steps, total, true_triaxial_control_type, true_triaxial_intermediate_axis, and true_triaxial_major_axis.
Referenced by isCompatibleWith(), and makeCompatibleWith().

|
inline |
|
virtualdefault |
destructor
|
inline |
finalize the mixed load
| K | elastic stiffness matrix |
| S | stress control matrix |
| E | strain control matrix |
| sv0 | state variables at the beginning of the increment |
| sv | state variables at the end of the increment |
References b, constitutive::StateVariable< T >::eps, and constitutive::StateVariable< T >::sig.
|
inlinevirtual |
initialize the state variables
| sv | state variables |
References constitutive::StateVariable< T >::eps, and constitutive::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.
Referenced by constitutive::Load< T >::addLoadPhase().


|
inline |
check if the load phase is isotropic
| tol | absolute tolerance |
|
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, LoadPhase(), and total.

| T constitutive::LoadPhase< T >::b = -1.0 |
intermediate stress ratio
Referenced by finalize(), and LoadPhase().
| Eigen::Matrix<T, 6, 1> constitutive::LoadPhase< T >::control |
control type of the load, 0 for stress, 1 for strain, -1 for ignored
Referenced by isCompatibleWith(), LoadPhase(), LoadPhase(), and makeCompatibleWith().
| Eigen::Matrix<T, 6, 1> constitutive::LoadPhase< T >::final |
final loading
Referenced by isCompatibleWith(), LoadPhase(), LoadPhase(), and makeCompatibleWith().
| Eigen::Matrix<T, 6, 1> constitutive::LoadPhase< T >::initial |
initial loading
Referenced by LoadPhase(), and LoadPhase().
| int constitutive::LoadPhase< T >::steps |
number of steps
Referenced by LoadPhase(), and LoadPhase().
| Eigen::Matrix<T, 6, 1> constitutive::LoadPhase< T >::total |
control whether the load is total or incremental, 0 for incremental, 1 for total
Referenced by isCompatibleWith(), LoadPhase(), LoadPhase(), and makeCompatibleWith().
| std::string constitutive::LoadPhase< T >::true_triaxial_control_type |
Control type for true triaxial loading, "none" for no control, "sig1", "sig2", or sig3" for controlling the principal stresses, "no_epsv" for controlling the intermediate principal stress without generating volumetric strain
Referenced by LoadPhase().
| int constitutive::LoadPhase< T >::true_triaxial_intermediate_axis = 2 |
Intermediate axis for true triaxial loading.
Referenced by LoadPhase().
| int constitutive::LoadPhase< T >::true_triaxial_major_axis = 1 |
Major axis for true triaxial loading.
Referenced by LoadPhase().