geolib.models.dstability.reinforcements

This module handles the three types of reinforcements in DStability.

Classes

DStabilityReinforcement(**data)

Base Class for Reinforcements.

ForbiddenLine(**data)

Inherits DStabilityReinforcement.

Geotextile(**data)

Nail(**data)

DStability Nail, used for soil nailing.

class geolib.models.dstability.reinforcements.DStabilityReinforcement(**data)

Base Class for Reinforcements.

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.

class geolib.models.dstability.reinforcements.ForbiddenLine(**data)

Inherits DStabilityReinforcement. Needs to be further defined.

Parameters:

data (Any)

end: Point
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]] = {'end': FieldInfo(annotation=Point, required=True), 'label': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'start': FieldInfo(annotation=Point, 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: Point
class geolib.models.dstability.reinforcements.Geotextile(**data)
Parameters:

data (Any)

effective_tensile_strength: Annotated[float]
end: Point
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]] = {'effective_tensile_strength': FieldInfo(annotation=float, required=True, metadata=[Gt(gt=0)]), 'end': FieldInfo(annotation=Point, required=True), 'label': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'reduction_area': FieldInfo(annotation=float, required=True, metadata=[Gt(gt=0)]), 'start': FieldInfo(annotation=Point, 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.

reduction_area: Annotated[float]
start: Point
class geolib.models.dstability.reinforcements.Nail(**data)

DStability Nail, used for soil nailing.

Parameters:

data (Any)

bending_stiffness: Annotated[float]
critical_angle: float
diameter: Annotated[float]
direction: float
grout_diameter: Annotated[float]
horizontal_spacing: float
lateral_stresses: List[Tuple[float, float]]
length: Annotated[float]
location: Point
max_pull_force: 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]] = {'bending_stiffness': FieldInfo(annotation=float, required=False, default=0.1, metadata=[Gt(gt=0)]), 'critical_angle': FieldInfo(annotation=float, required=False, default=0.0), 'diameter': FieldInfo(annotation=float, required=False, default=0.1, metadata=[Gt(gt=0)]), 'direction': FieldInfo(annotation=float, required=False, default=0.0), 'grout_diameter': FieldInfo(annotation=float, required=False, default=0.1, metadata=[Gt(gt=0)]), 'horizontal_spacing': FieldInfo(annotation=float, required=False, default=0.0), 'label': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'lateral_stresses': FieldInfo(annotation=List[Tuple[float, float]], required=False, default=[]), 'length': FieldInfo(annotation=float, required=False, default=3.0, metadata=[Gt(gt=0)]), 'location': FieldInfo(annotation=Point, required=True), 'max_pull_force': FieldInfo(annotation=float, required=False, default=0.0), 'plastic_moment': FieldInfo(annotation=float, required=False, default=0.0), 'shear_stresses': FieldInfo(annotation=List[Tuple[float, float]], required=False, default=[]), 'use_facing': FieldInfo(annotation=bool, required=False, default=False), 'use_lateral_stress': FieldInfo(annotation=bool, required=False, default=False), 'use_shear_stress': FieldInfo(annotation=bool, required=False, default=False)}

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

This replaces Model.__fields__ from Pydantic V1.

plastic_moment: float
shear_stresses: List[Tuple[float, float]]
use_facing: bool
use_lateral_stress: bool
use_shear_stress: bool