constitutivemodelbase
ConstitutiveModelBase
Base class for all constitutive models.
custom_loading_direction
instance-attribute
custom_loading_direction: MatrixXf
Custom loading direction
checkStiffnessMatrix
checkStiffnessMatrix(
K: ndarray,
check_positive_definite: bool = None,
check_non_singularity: bool = None,
) -> bool
Check whether the stiffness matrix is valid.
| PARAMETER | DESCRIPTION |
|---|---|
K
|
The stiffness matrix.
TYPE:
|
check_positive_definite
|
Whether to check the positive definiteness of the stiffness matrix.
TYPE:
|
check_non_singularity
|
Whether to check the non-singularity of the stiffness matrix.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
bool
|
True if the stiffness matrix is valid. |
consistentElastoplasticStiffness
consistentElastoplasticStiffness(
K: ndarray,
sv0: StateVariable,
sv: StateVariable,
check_elastic_state: bool = True,
check_positive_definite: bool = None,
check_non_singularity: bool = None,
) -> ndarray
Calculate the consistent elastoplastic stiffness matrix.
| PARAMETER | DESCRIPTION |
|---|---|
K
|
The stiffness matrix.
TYPE:
|
sv0
|
The state variables at the beginning of the increment.
TYPE:
|
sv
|
The state variable.
TYPE:
|
check_elastic_state
|
Whether to check if the current stress state is elastic.
TYPE:
|
check_positive_definite
|
Whether to check the positive definiteness of the elastoplastic stiffness matrix.
TYPE:
|
check_non_singularity
|
Whether to check the non-singularity of the elastoplastic stiffness matrix.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
ndarray
|
The consistent elastoplastic stiffness matrix. |
continuumElastoplasticStiffness
continuumElastoplasticStiffness(
K: ndarray,
sv0: StateVariable,
sv: StateVariable,
check_elastic_state: bool = True,
check_positive_definite: bool = None,
check_non_singularity: bool = None,
) -> ndarray
Calculate the continuum elastoplastic stiffness matrix.
| PARAMETER | DESCRIPTION |
|---|---|
K
|
The stiffness matrix.
TYPE:
|
sv0
|
The state variables at the beginning of the increment.
TYPE:
|
sv
|
The state variable.
TYPE:
|
check_elastic_state
|
Whether to check if the current stress state is elastic.
TYPE:
|
check_positive_definite
|
Whether to check the positive definiteness of the elastoplastic stiffness matrix.
TYPE:
|
check_non_singularity
|
Whether to check the non-singularity of the elastoplastic stiffness matrix.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
ndarray
|
The continuum elastoplastic stiffness matrix. |
elastoplasticStiffness
elastoplasticStiffness(
K: ndarray,
deps: ndarray,
sv0: StateVariable,
sv: StateVariable,
check_elastic_state: bool = True,
check_positive_definite: bool = None,
check_non_singularity: bool = None,
) -> ndarray
Calculate the elastoplastic stiffness matrix.
| PARAMETER | DESCRIPTION |
|---|---|
K
|
The stiffness matrix.
TYPE:
|
deps
|
The strain increment.
TYPE:
|
sv0
|
The state variables at the beginning of the increment.
TYPE:
|
sv
|
The state variable.
TYPE:
|
check_elastic_state
|
Whether to check if the current stress state is elastic.
TYPE:
|
check_positive_definite
|
Whether to check the positive definiteness of the elastoplastic stiffness matrix.
TYPE:
|
check_non_singularity
|
Whether to check the non-singularity of the elastoplastic stiffness matrix.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
ndarray
|
The elastoplastic stiffness matrix. |
increment
increment(
dx: ndarray,
x: ndarray,
S: ndarray,
E: ndarray,
G: ndarray,
sv0: StateVariable,
sv: StateVariable,
) -> ndarray
initialize
initialize(sv: StateVariable)
Initialize the state variables.
| PARAMETER | DESCRIPTION |
|---|---|
sv
|
A StateVariable object to be initialized.
TYPE:
|
linearize
linearize(
K: ndarray,
dx: ndarray,
S: ndarray,
E: ndarray,
G: ndarray,
sv0: StateVariable,
sv: StateVariable,
) -> Tuple[ndarray, ndarray]
Calculate the incremental stress/strain tensor based on mixed load control.
| PARAMETER | DESCRIPTION |
|---|---|
K
|
The elastic stiffness matrix.
TYPE:
|
dx
|
The mixed unbalanced load increment.
TYPE:
|
S
|
The stress control matrix.
TYPE:
|
E
|
The strain control matrix.
TYPE:
|
G
|
The ignored control matrix.
TYPE:
|
sv0
|
The state variables at the beginning of the increment.
TYPE:
|
sv
|
The state variables.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
ndarray
|
The stress increment. |
ndarray
|
The strain increment. |
loadingDirection
loadingDirection(sv0: StateVariable, sv: StateVariable) -> ndarray
Loading direction
| PARAMETER | DESCRIPTION |
|---|---|
sv0
|
The initial state variables.
TYPE:
|
sv
|
The current state variables.
TYPE:
|
postIncrement
postIncrement(sv0: StateVariable, sv: StateVariable)
Post-processing after the increment
| PARAMETER | DESCRIPTION |
|---|---|
sv0
|
The state variables at the beginning of the increment.
TYPE:
|
sv
|
The state variables.
TYPE:
|
postInitialize
postInitialize(sv: StateVariable) -> None
Post-initialize the state variables.
| PARAMETER | DESCRIPTION |
|---|---|
sv
|
The state variables.
TYPE:
|
postProcess
postProcess(sv: StateVariable) -> None
Post-process the state variables.
| PARAMETER | DESCRIPTION |
|---|---|
sv
|
The state variables.
TYPE:
|
postStressStrainIntegrate
postStressStrainIntegrate(sv0: StateVariable, sv: StateVariable)
Post-processing after the stress-strain integration
| PARAMETER | DESCRIPTION |
|---|---|
sv0
|
The state variables at the beginning of the increment.
TYPE:
|
sv
|
The state variables.
TYPE:
|
preIncrement
preIncrement(sv0: StateVariable, sv: StateVariable)
Pre-processing before the increment
| PARAMETER | DESCRIPTION |
|---|---|
sv0
|
The state variables at the beginning of the increment.
TYPE:
|
sv
|
The state variables.
TYPE:
|
preStressStrainIntegrate
preStressStrainIntegrate(sv0: StateVariable, sv: StateVariable)
Pre-processing before the stress-strain integration
| PARAMETER | DESCRIPTION |
|---|---|
sv0
|
The state variables at the beginning of the increment.
TYPE:
|
sv
|
The state variables.
TYPE:
|
resetCustomStateVariables
resetCustomStateVariables(sv0: StateVariable, sv: StateVariable)
Reset the custom state variables to zeros existing in the current state variables but not in the initial state variables.
| PARAMETER | DESCRIPTION |
|---|---|
sv0
|
The initial state variables.
TYPE:
|
sv
|
The current state variables.
TYPE:
|
run
run() -> List[StateVariable]
Run the model.
| RETURNS | DESCRIPTION |
|---|---|
List[StateVariable]
|
The state variables. |
saveElasticStiffnessMatrix
saveElasticStiffnessMatrix(sv0: StateVariable, sv: StateVariable)
Save elastic stiffness matrix.
stiffness
stiffness(sv0: StateVariable, sv: StateVariable) -> ndarray
Calculate the stiffness matrix.
| PARAMETER | DESCRIPTION |
|---|---|
sv0
|
The state variables at the beginning of the increment.
TYPE:
|
sv
|
The state variable.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
ndarray
|
The elastic stiffness matrix. |
stressStrainIntegrate
stressStrainIntegrate(
K: ndarray,
dsig: ndarray,
deps: ndarray,
sv0: StateVariable,
sv: StateVariable,
) -> None
Stress-strain integration.
| PARAMETER | DESCRIPTION |
|---|---|
K
|
The stiffness matrix.
TYPE:
|
dsig
|
The stress increment.
TYPE:
|
deps
|
The strain increment.
TYPE:
|
sv0
|
The state variables at the beginning of the increment.
TYPE:
|
sv
|
The state variables.
TYPE:
|
symmetricContinuumElastoplasticStiffness
symmetricContinuumElastoplasticStiffness(
K: ndarray,
deps: ndarray,
sv0: StateVariable,
sv: StateVariable,
check_elastic_state: bool = True,
check_positive_definite: bool = None,
check_non_singularity: bool = None,
) -> ndarray
Calculate the symmetric continuum elastoplastic stiffness matrix.
| PARAMETER | DESCRIPTION |
|---|---|
K
|
The stiffness matrix.
TYPE:
|
deps
|
The strain increment.
TYPE:
|
sv0
|
The state variables at the beginning of the increment.
TYPE:
|
sv
|
The state variable.
TYPE:
|
check_elastic_state
|
Whether to check if the current stress state is elastic.
TYPE:
|
check_positive_definite
|
Whether to check the positive definiteness of the elastoplastic stiffness matrix.
TYPE:
|
check_non_singularity
|
Whether to check the non-singularity of the elastoplastic stiffness matrix.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
ndarray
|
The symmetric continuum elastoplastic stiffness matrix. |
updateVoidRatio
updateVoidRatio(e0: float, sv: StateVariable) -> float
Update the void ratio after the isotropic loading to the void ratio before the isotropic loading.