yield_functions
GNST
Bases: YieldFunction
bounds
class-attribute
instance-attribute
LadeDuncan
Bases: YieldFunction
MatsuokaNakai
Bases: YieldFunction
MohrCoulomb
Bases: YieldFunction
equivalent_stress
instance-attribute
Tresca
Bases: YieldFunction
, Tresca
bounds
class-attribute
instance-attribute
VonMises
Bases: YieldFunction
, VonMises
bounds
class-attribute
instance-attribute
Wang2025
Bases: YieldFunction
PARAMETERS
class-attribute
instance-attribute
PARAMETERS = [
"phi",
"F1",
"F2",
"F12",
"F13",
"F23",
"weight_mises",
"weight_tresca",
"weight_mohr_coulomb",
"weight_smp",
"unit",
"vectorize",
"fast_orthotropy",
]
bounds
class-attribute
instance-attribute
bounds = {
"phi": (0, 90),
"F1": (-10, 10),
"F2": (-10, 10),
"F12": (-10, 10),
"F13": (-10, 10),
"F23": (-10, 10),
"weight_mises": (0, 100000.0),
"weight_tresca": (0, 100000.0),
"weight_mohr_coulomb": (0, 100000.0),
"weight_smp": (0, 100000.0),
}
stds
class-attribute
instance-attribute
stds = {
"phi": 1.0,
"F1": 0.1,
"F2": 0.1,
"F12": 0.1,
"F13": 0.1,
"F23": 0.1,
"weight_mises": 0.1,
"weight_tresca": 0.1,
"weight_mohr_coulomb": 0.1,
"weight_smp": 0.1,
}
weight_mohr_coulomb
class-attribute
instance-attribute
weight_mohr_coulomb: float = weight_mohr_coulomb
x0
class-attribute
instance-attribute
x0 = {
"phi": 30.0,
"F1": 0.0,
"F2": 0.0,
"F12": 0.0,
"F13": 0.0,
"F23": 0.0,
"weight_mises": 0.0,
"weight_tresca": 0.0,
"weight_mohr_coulomb": 1.0,
"weight_smp": 0.0,
}
__init__
__init__(
phi: float,
F1: float = 0.0,
F2: float = 0.0,
F12: float = 0.0,
F13: float = 0.0,
F23: float = 0.0,
weight_mises: float = 0.0,
weight_tresca: float = 0.0,
weight_mohr_coulomb: float = 1.0,
weight_smp: float = 0.0,
*,
unit: Literal["rad", "deg"] = "deg",
vectorize: bool = True,
fast_orthotropy: bool = True,
**kwargs
)
residual
staticmethod
residual(
fitting_params: List[float],
stress_states: ndarray,
fitting_param_names: List[str],
**kwargs
)
setCriterion
setCriterion(
criterion: Literal[
"Mises",
"Tresca",
"MohrCoulomb",
"SMP",
"Mises-SMP",
"Tresca-MohrCoulomb",
],
*args,
**kwargs
)
Set the criterion to use.
setFabricTensor
setFabricTensor(
*args: float | ndarray,
r1: float = 0.0,
r2: float = 0.0,
r3: float = 0.0,
unit: Literal["rad", "deg"] = "deg"
)
Set fabric tensor.
PARAMETER | DESCRIPTION |
---|---|
args
|
A tuple of 5 floats for F1, F2, F12, F13, F23 or a 3x3 fabric tensor. |
r1
|
Rotation angle around axis-1, by default 0.0.
TYPE:
|
r2
|
Rotation angle around axis-2, by default 0.0.
TYPE:
|
r3
|
Rotation angle around axis-3, by default 0.0.
TYPE:
|
unit
|
Unit of rotation angles, by default "deg".
TYPE:
|
setMisesSMP
Use Mises-SMP criterion.
Wang2025CA
Bases: Wang2025
__init__
__init__(
phi: float,
F1: float | None = None,
F2: float | None = None,
F3: float | None = None,
major_axes: int = 1,
weight_mises: float = 0.0,
weight_tresca: float = 0.0,
weight_mohr_coulomb: float = 1.0,
weight_smp: float = 0.0,
*,
unit: Literal["rad", "deg"] = "deg",
vectorize: bool = True,
fast_orthotropy: bool = True,
**kwargs
)