weac.components.scenario_config module¶
This module defines the ScenarioConfig class, which contains the configuration for a given scenario.
- class weac.components.scenario_config.ScenarioConfig(*, system_type='skiers', phi=0.0, theta=0.0, b=300, cut_length=0.0, stiffness_ratio=1000.0, surface_load=0.0, load_vector_left=<factory>, load_vector_right=<factory>)[source]¶
Bases:
BaseModelConfiguration for the overall scenario, such as slope angle.
- Parameters:
system_type (Literal['skier', 'skiers', 'pst-', '-pst', 'rot', 'trans', 'vpst-', '-vpst'])
phi (Annotated[float, Ge(ge=-90.0), Le(le=90.0)])
theta (Annotated[float, Ge(ge=-90.0), Le(le=90.0)])
b (Annotated[float, Ge(ge=1)])
cut_length (Annotated[float, Ge(ge=0)])
stiffness_ratio (Annotated[float, Gt(gt=0)])
surface_load (Annotated[float, Ge(ge=0)])
load_vector_left (Annotated[ndarray, PlainSerializer(func=~weac.components.scenario_config._serialize_ndarray, return_type=list, when_used=always), WithJsonSchema(json_schema={'type': 'array', 'items': {'type': 'array', 'items': {'type': 'number'}}}, mode=None)])
load_vector_right (Annotated[ndarray, PlainSerializer(func=~weac.components.scenario_config._serialize_ndarray, return_type=list, when_used=always), WithJsonSchema(json_schema={'type': 'array', 'items': {'type': 'array', 'items': {'type': 'number'}}}, mode=None)])
- phi¶
Slope angle in degrees (counterclockwise positive).
- Type:
float, optional
- theta¶
Rotation of the slab around its axis (counterclockwise positive)
- Type:
float, optional
- b¶
Out-of-plane width of the model in [mm]. Default is 300 mm.
- Type:
float, optional
- system_type¶
Type of system. Allowed values are: - skier: single skier in-between two segments - skiers: multiple skiers spread over the slope - pst-: positive PST: down-slope + slab-normal cuts - -pst: negative PST: up-slope + slab-normal cuts - rot: rotation: rotation of the slab - trans: translation: translation of the slab - vpst-: positive VPST: down-slope + vertical cuts - -vpst: negative VPST: up-slope + vertical cuts
- Type:
SystemType
- cut_length¶
Cut length for PST/VPST [mm].
- Type:
float, optional
- stiffness_ratio¶
Stiffness ratio between collapsed and uncollapsed weak layer.
- Type:
float, optional
- surface_load¶
Surface line-load on slab [N/mm] (force per mm of out-of-plane width)
- Type:
float, optional
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- system_type: Literal['skier', 'skiers', 'pst-', '-pst', 'rot', 'trans', 'vpst-', '-vpst']¶
- phi: float¶
- theta: float¶
- b: float¶
- cut_length: float¶
- stiffness_ratio: float¶
- surface_load: float¶
- load_vector_left: WithJsonSchema(json_schema={'type': 'array', 'items': {'type': 'array', 'items': {'type': 'number'}}}, mode=None)]¶
- load_vector_right: WithJsonSchema(json_schema={'type': 'array', 'items': {'type': 'array', 'items': {'type': 'number'}}}, mode=None)]¶