Index
__all__
module-attribute
__all__ = [
"ElasticityBase",
"KinematicHypothesis",
"MultiScale",
"StaticHypothesis",
"WaveVelocity",
]
ElasticityBase
Bases: HashableBaseModelIO
, CalibrationABC
Base class for elastic material models.
voigt_notation
class-attribute
instance-attribute
voigt_notation: bool = False
Whether to use Voigt's notation for the stiffness and compliance matrices.
get
Get an array of values with the given parameters, or a float if no parameters are provided or the parameters are scalars.
PARAMETER | DESCRIPTION |
---|---|
var
|
Variable name.
TYPE:
|
kwargs
|
Keyword arguments for the parameters, key is the parameter name and value is the parameter values. Length of the values must be the same. |
setParameters
setParameters(
params: Dict[str, Any] | None = None,
*,
force: bool = False,
experiment: Experiment | None = None,
experiments: (
Experiment | Iterable[Experiment] | Dict[str, Experiment] | None
) = None,
**kwargs
)
Set parameters.
PARAMETER | DESCRIPTION |
---|---|
params
|
Dictionary of parameters to set.
TYPE:
|
force
|
Set parameters even if they are not in the model.
TYPE:
|
experiment
|
Current experiment, used for custom calibration key.
TYPE:
|
experiments
|
Experiments, used for custom calibration key.
TYPE:
|
KinematicHypothesis
Bases: MultiScale
MultiScale
Bases: ElasticityBase
, Anisotropy
, ContactNumber
, HertzMindlin
Multi-scale material model.
bounds
class-attribute
bounds: Dict[str, List[float]] = {
"npv": [1, 1e20],
"radius": [1e-06, 0.001],
"kn": [1, 10000.0],
"krr": [0, 10],
"Gg": [1, 1e20],
"nug": [0, 1],
"n": [0, 1],
"nr": [0, 1],
"F1": [-10, 10],
"F2": [-10, 10],
"F12": [-10, 10],
"F13": [-10, 10],
"F23": [-10, 10],
"cn": [-10, 10],
"cr": [-10, 10],
"cc": [-10, 10],
"ncc": [0, 10],
}
force_numerical
class-attribute
instance-attribute
force_numerical: bool = False
Calculate the stiffness numerically by force.
keys
class-attribute
stds
class-attribute
stds: Dict[str, float] = {
"npv": 1000000000.0,
"radius": 0.0001,
"kn": 10.0,
"krr": 0.1,
"Gg": 100000000.0,
"nug": 0.01,
"n": 0.1,
"nr": 0.1,
"F1": 0.1,
"F2": 0.1,
"F12": 0.1,
"F13": 0.1,
"F23": 0.1,
"cn": 0.01,
"cr": 0.01,
"cc": 0.01,
"ncc": 0.1,
}
x0
class-attribute
x0: Dict[str, float] = {
"npv": 1000000000.0,
"radius": 0.001,
"kn": 80.0,
"krr": 0.4,
"Gg": 2000000000.0,
"nug": 0.2,
"n": 1 / 3,
"nr": 1 / 3,
"F1": 0.0,
"F2": 0.0,
"F12": 0.0,
"F13": 0.0,
"F23": 0.0,
"cn": 0.0,
"cr": 0.0,
"cc": 1.0,
"ncc": 1.0,
}
model_post_init
model_post_init(__context: Any) -> None
Set default values when force_numerical
is set to True
.
StaticHypothesis
Bases: MultiScale
WaveVelocity
Bases: ElasticityBase
Elasticity estimated from wave velocity.
caches
class-attribute
caches: Dict[str, LRUCache] = {
"stiffness": LRUCache(maxsize=1024),
"compliance": LRUCache(maxsize=1024),
}
thetaxy
class-attribute
instance-attribute
Angle for the P-wave velocity Vsxy.
thetayz
class-attribute
instance-attribute
Angle for the P-wave velocity Vsyz.
thetazx
class-attribute
instance-attribute
Angle for the P-wave velocity Vpzx.
unit
class-attribute
instance-attribute
unit: Literal['rad', 'deg'] = 'rad'
Unit of the angle theta
. Can be "rad" for radians or "deg" for degrees.