geolib.models.dstability.loads

This module handles the four types of loads in DStability.

Classes

Consolidation(**data)

DStabilityLoad(**data)

Base Class for Loads.

Earthquake(**data)

Inherits DStabilityLoad.

LineLoad(**data)

DStability Lineload.

TreeLoad(**data)

Inherits DStabilityLoad.

UniformLoad(**data)

UniformLoad.

class geolib.models.dstability.loads.Consolidation(**data)
Parameters:

data (Any)

degree: Annotated[float]
layer_id: int
model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'validate_assignment': True, 'validate_default': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'degree': FieldInfo(annotation=float, required=False, default=100, metadata=[Ge(ge=0), Le(le=100)]), 'layer_id': FieldInfo(annotation=int, required=True)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

to_internal_datastructure()
Return type:

PersistableConsolidation

class geolib.models.dstability.loads.DStabilityLoad(**data)

Base Class for Loads.

Parameters:

data (Any)

label: Optional[str]
model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'validate_assignment': True, 'validate_default': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'label': FieldInfo(annotation=Union[str, NoneType], required=False, default=None)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

abstract to_internal_datastructure()
class geolib.models.dstability.loads.Earthquake(**data)

Inherits DStabilityLoad.

Parameters:

data (Any)

free_water_factor: float
horizontal_factor: float
model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'validate_assignment': True, 'validate_default': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'free_water_factor': FieldInfo(annotation=float, required=True), 'horizontal_factor': FieldInfo(annotation=float, required=True), 'label': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'vertical_factor': FieldInfo(annotation=float, required=True)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

vertical_factor: float
class geolib.models.dstability.loads.LineLoad(**data)

DStability Lineload.

Parameters:

data (Any)

angle: Annotated[float]
angle_of_distribution: Annotated[float]
location: Point
magnitude: Annotated[float]
model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'validate_assignment': True, 'validate_default': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'angle': FieldInfo(annotation=float, required=True, metadata=[Ge(ge=-360), Le(le=360)]), 'angle_of_distribution': FieldInfo(annotation=float, required=True, metadata=[Ge(ge=0), Le(le=90)]), 'label': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'location': FieldInfo(annotation=Point, required=True), 'magnitude': FieldInfo(annotation=float, required=True, metadata=[Ge(ge=0)])}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

to_internal_datastructure()
Return type:

PersistableLineLoad

class geolib.models.dstability.loads.TreeLoad(**data)

Inherits DStabilityLoad.

Parameters:

data (Any)

angle_of_distribution: float
model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'validate_assignment': True, 'validate_default': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'angle_of_distribution': FieldInfo(annotation=float, required=True), 'label': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'tree_top_location': FieldInfo(annotation=Point, required=True), 'width_of_root_zone': FieldInfo(annotation=float, required=True), 'wind_force': FieldInfo(annotation=float, required=True)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

to_internal_datastructure()
Return type:

PersistableTree

tree_top_location: Point
width_of_root_zone: float
wind_force: float
class geolib.models.dstability.loads.UniformLoad(**data)

UniformLoad.

Parameters:

data (Any)

angle_of_distribution: Annotated[float]
end: float
end_greater_than_start()
magnitude: Annotated[float]
model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'validate_assignment': True, 'validate_default': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'angle_of_distribution': FieldInfo(annotation=float, required=True, metadata=[Ge(ge=0), Le(le=90)]), 'end': FieldInfo(annotation=float, required=True), 'label': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'magnitude': FieldInfo(annotation=float, required=True, metadata=[Ge(ge=0)]), 'start': FieldInfo(annotation=float, required=True)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

start: float
to_internal_datastructure()
Return type:

PersistableUniformLoad