geolib.models.dstability.internal

The internal data model structure.

Classes

AnalysisType

alias of AnalysisTypeEnum

AnalysisTypeEnum(value[, names, module, ...])

BishopBruteForceReliabilityResult(**data)

BishopBruteForceResult(**data)

BishopReliabilityResult(**data)

BishopResult(**data)

BishopSlipCircleResult(**data)

CalculationSettings(**data)

calculationsettings/calculationsettings_x.json

CalculationType

alias of CalculationTypeEnum

CalculationTypeEnum(value[, names, module, ...])

DStabilityBaseModelStructure(**data)

DStabilityStructure(**data)

Highest level DStability class that should be parsed to and serialized from.

DStabilitySubStructure(**data)

Decorations(**data)

decorations/decorations_x.json.

EmbankmentSoilScenarioEnum(value[, names, ...])

ForeignKeys(**data)

A dataclass that store the connections between the various unique Ids used in DStability.

Geometry(**data)

geometries/geometry_x.json

InternalStateTypeEnum(value[, names, ...])

Loads(**data)

loads/loads_x.json

NailProperties(**data)

nailpropertiesforsoils.json

NullablePersistablePoint(**data)

OptionsType

alias of OptionsTypeEnum

OptionsTypeEnum(value[, names, module, ...])

PersistableBishopBruteForceSettings(**data)

PersistableBishopSettings(**data)

PersistableBondStress(**data)

PersistableCalculation(**data)

PersistableCalculationContribution(**data)

PersistableCircle(**data)

PersistableConsolidation(**data)

PersistableDitchCharacteristics(**data)

PersistableEarthquake(**data)

PersistableElevation(**data)

PersistableEmbankmentCharacteristics(**data)

PersistableExcavation(**data)

PersistableForbiddenLine(**data)

PersistableGeneticSlipPlaneConstraints(**data)

PersistableGeotextile(**data)

PersistableGridEnhancements(**data)

PersistableHeadLine(**data)

PersistableLayer(**data)

PersistableLayerLoad(**data)

PersistableLineLoad(**data)

PersistableMohrCoulombAdvancedShearStrengthModel(**data)

PersistableMohrCoulombClassicShearStrengthModel(**data)

PersistableNail(**data)

PersistableNailPropertiesForSoil(**data)

PersistablePoint(**data)

PersistableReferenceLine(**data)

PersistableSearchArea(**data)

PersistableSearchGrid(**data)

PersistableShadingTypeEnum(value[, names, ...])

PersistableSlice(**data)

PersistableSlipPlaneConstraints(**data)

PersistableSoil(**data)

PersistableSoilContribution(**data)

PersistableSoilCorrelation(**data)

PersistableSoilLayer(**data)

PersistableSoilVisualization(**data)

PersistableSpencerGeneticSettings(**data)

PersistableSpencerSettings(**data)

PersistableSpencerSlice(**data)

PersistableStateCorrelation(**data)

PersistableStateLine(**data)

PersistableStateLinePoint(**data)

PersistableStateLinePointContribution(**data)

PersistableStatePoint(**data)

PersistableStatePointContribution(**data)

PersistableStochasticParameter(**data)

PersistableStress(**data)

PersistableStressAtDistance(**data)

PersistableSuShearStrengthModel(**data)

PersistableSuTable(**data)

PersistableSuTablePoint(**data)

PersistableTangentArea(**data)

PersistableTangentLines(**data)

PersistableTree(**data)

PersistableTwoCirclesOnTangentLine(**data)

PersistableUniformLoad(**data)

PersistableUpliftVanParticleSwarmSettings(**data)

PersistableUpliftVanSettings(**data)

ProjectInfo(**data)

projectinfo.json.

Reinforcements(**data)

reinforcements/reinforcements_x.json

Scenario(**data)

scenarios/scenario_x.json

ShearStrengthModelTypePhreaticLevelInternal(value)

Shear Strength Model Type.

SoilCollection(**data)

soils.json

SoilCorrelation(**data)

soilcorrelations.json

SoilLayerCollection(**data)

soillayers/soillayers_x.json

SoilVisualisation(**data)

SpencerGeneticAlgorithmReliabilityResult(**data)

SpencerGeneticAlgorithmResult(**data)

SpencerReliabilityResult(**data)

SpencerResult(**data)

SpencerSlipPlaneResult(**data)

Stage(**data)

stages/stage_x.json

State(**data)

states/states_x.json

StateCorrelation(**data)

statecorrelations/statecorrelations_1.json

UpliftVanParticleSwarmReliabilityResult(**data)

UpliftVanParticleSwarmResult(**data)

UpliftVanReliabilityResult(**data)

UpliftVanResult(**data)

UpliftVanSlipCircleResult(**data)

Waternet(**data)

waternets/waternet_x.json.

WaternetCreatorSettings(**data)

waternetcreatorsettings/waternetcreatorsettings_x.json

geolib.models.dstability.internal.AnalysisType

alias of AnalysisTypeEnum

class geolib.models.dstability.internal.AnalysisTypeEnum(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)
BISHOP = 'Bishop'
BISHOP_BRUTE_FORCE = 'BishopBruteForce'
SPENCER = 'Spencer'
SPENCER_GENETIC = 'SpencerGenetic'
UPLIFT_VAN = 'UpliftVan'
UPLIFT_VAN_PARTICLE_SWARM = 'UpliftVanParticleSwarm'
class geolib.models.dstability.internal.BishopBruteForceReliabilityResult(**data)
Parameters:

data (Any)

CalculationContributions: Optional[List[Optional[PersistableCalculationContribution]]]
Circle: Optional[PersistableCircle]
Converged: Optional[bool]
DistanceToConvergence: Union[float, str, None]
FailureProbability: Union[float, str, None]
Id: Optional[str]
ReliabilityIndex: Union[float, str, None]
ResultThreshold: Union[float, str, None]
SlipPlaneResults: Optional[list]
SoilContributions: Optional[List[Optional[PersistableSoilContribution]]]
StateLinePointContributions: Optional[List[Optional[PersistableStateLinePointContribution]]]
StatePointContributions: Optional[List[Optional[PersistableStatePointContribution]]]
get_slipcircle_output()

Get condensed slipcircle data

Return type:

BishopSlipCircleResult

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

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

classmethod transform_id_to_str(value)
Return type:

str

class geolib.models.dstability.internal.BishopBruteForceResult(**data)
Parameters:

data (Any)

Circle: Optional[PersistableCircle]
FactorOfSafety: Union[float, str, None]
Id: Optional[str]
Points: Optional[List[Optional[PersistablePoint]]]
ResultThreshold: Union[float, str, None]
Slices: Optional[List[Optional[PersistableSlice]]]
SlipPlaneResults: Optional[list]
get_slipcircle_output()

Get condensed slipcircle data

Return type:

BishopSlipCircleResult

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

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

classmethod transform_id_to_str(value)
Return type:

str

class geolib.models.dstability.internal.BishopReliabilityResult(**data)
Parameters:

data (Any)

CalculationContributions: Optional[List[Optional[PersistableCalculationContribution]]]
Circle: Optional[PersistableCircle]
Converged: Optional[bool]
DistanceToConvergence: Union[float, str, None]
FailureProbability: Union[float, str, None]
Id: Optional[str]
ReliabilityIndex: Union[float, str, None]
SoilContributions: Optional[List[Optional[PersistableSoilContribution]]]
StateLinePointContributions: Optional[List[Optional[PersistableStateLinePointContribution]]]
StatePointContributions: Optional[List[Optional[PersistableStatePointContribution]]]
get_slipcircle_output()

Get condensed slipcircle data

Return type:

BishopSlipCircleResult

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

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

classmethod transform_id_to_str(value)
Return type:

str

class geolib.models.dstability.internal.BishopResult(**data)
Parameters:

data (Any)

Circle: Optional[PersistableCircle]
FactorOfSafety: Union[float, str, None]
Id: Optional[str]
Points: Optional[List[Optional[PersistablePoint]]]
Slices: Optional[List[Optional[PersistableSlice]]]
get_slipcircle_output()

Get condensed slipcircle data

Return type:

BishopSlipCircleResult

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

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

classmethod transform_id_to_str(value)
Return type:

str

class geolib.models.dstability.internal.BishopSlipCircleResult(**data)
Parameters:

data (Any)

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

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

radius: float
x: float
z: float
class geolib.models.dstability.internal.CalculationSettings(**data)

calculationsettings/calculationsettings_x.json

Parameters:

data (Any)

AnalysisType: Optional[AnalysisTypeEnum]
Bishop: Optional[PersistableBishopSettings]
BishopBruteForce: Optional[PersistableBishopBruteForceSettings]
CalculationType: Optional[CalculationTypeEnum]
ContentVersion: Optional[str]
Id: Optional[str]
ModelFactorMean: Optional[float]
ModelFactorStandardDeviation: Optional[float]
Spencer: Optional[PersistableSpencerSettings]
SpencerGenetic: Optional[PersistableSpencerGeneticSettings]
UpliftVan: Optional[PersistableUpliftVanSettings]
UpliftVanParticleSwarm: Optional[PersistableUpliftVanParticleSwarmSettings]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

set_bishop(bishop_settings)
Parameters:

bishop_settings (PersistableBishopSettings)

Return type:

None

set_bishop_brute_force(bishop_brute_force_settings)
Parameters:

bishop_brute_force_settings (PersistableBishopBruteForceSettings)

Return type:

None

set_spencer(spencer_settings)
Parameters:

spencer_settings (PersistableSpencerSettings)

Return type:

None

set_spencer_genetic(spencer_genetic_settings)
Parameters:

spencer_genetic_settings (PersistableSpencerGeneticSettings)

Return type:

None

set_uplift_van(uplift_van_settings)
Parameters:

uplift_van_settings (PersistableUpliftVanSettings)

Return type:

None

set_uplift_van_particle_swarm(uplift_van_particle_swarm_settings)
Parameters:

uplift_van_particle_swarm_settings (PersistableUpliftVanParticleSwarmSettings)

Return type:

None

classmethod transform_id_to_str(value)
Return type:

str

geolib.models.dstability.internal.CalculationType

alias of CalculationTypeEnum

class geolib.models.dstability.internal.CalculationTypeEnum(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)
DESIGN = 'Design'
DETERMINISTIC = 'Deterministic'
MEAN = 'Mean'
PROBABILISTIC = 'Probabilistic'
class geolib.models.dstability.internal.DStabilityBaseModelStructure(**data)
Parameters:

data (Any)

dict(*args, **kwargs)
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

class geolib.models.dstability.internal.DStabilityStructure(**data)

Highest level DStability class that should be parsed to and serialized from.

The List[] items (one for each stage in the model) will be stored in a subfolder to multiple json files. Where the first (0) instance has no suffix, but the second one has (1 => _1) etc.

also parses the outputs which are part of the json files

Parameters:

data (Any)

add_default_calculation(scenario_index, label, notes, unique_start_id=None)

Add a new default (empty) calculation to DStability.

Parameters:
  • scenario_index (int)

  • label (str)

  • notes (str)

  • unique_start_id (Optional[int])

Return type:

Tuple[int, int]

add_default_scenario(label, notes, unique_start_id=None)

Add a new default (empty) scenario to DStability.

Parameters:
  • label (str)

  • notes (str)

  • unique_start_id (Optional[int])

Return type:

Tuple[int, int]

add_default_stage(scenario_index, label, notes, unique_start_id=None)

Add a new default (empty) stage to DStability.

Parameters:
  • scenario_index (int)

  • label (str)

  • notes (str)

  • unique_start_id (Optional[int])

Return type:

Tuple[int, int]

bishop_bruteforce_reliability_results: List[BishopBruteForceReliabilityResult]
bishop_bruteforce_results: List[BishopBruteForceResult]
bishop_reliability_results: List[BishopReliabilityResult]
bishop_results: List[BishopResult]
calculationsettings: List[CalculationSettings]
decorations: List[Decorations]
ensure_validity_foreign_keys()
geometries: List[Geometry]
get_result_substructure(analysis_type, calculation_type)
Parameters:
Return type:

List[Union[UpliftVanResult, UpliftVanParticleSwarmResult, UpliftVanReliabilityResult, UpliftVanParticleSwarmReliabilityResult, SpencerGeneticAlgorithmResult, SpencerReliabilityResult, SpencerGeneticAlgorithmReliabilityResult, SpencerResult, BishopBruteForceResult, BishopReliabilityResult, BishopBruteForceReliabilityResult, BishopResult, None]]

get_unique_id()

Return unique id that can be used in DStability. Finds all existing ids, takes the max and does +1.

Return type:

int

has_calculation(scenario_index, calculation_index)
Parameters:
  • scenario_index (int)

  • calculation_index (int)

Return type:

bool

has_loads(scenario_index, stage_index)
Parameters:
  • scenario_index (int)

  • stage_index (int)

Return type:

bool

has_reinforcements(scenario_index, stage_index)
Parameters:
  • scenario_index (int)

  • stage_index (int)

Return type:

bool

has_result(scenario_index, calculation_index)
Parameters:
  • scenario_index (int)

  • calculation_index (int)

Return type:

bool

has_scenario(scenario_index)
Parameters:

scenario_index (int)

Return type:

bool

has_soil_layer(scenario_index, stage_index, soil_layer_id)
Parameters:
  • scenario_index (int)

  • stage_index (int)

  • soil_layer_id (int)

Return type:

bool

has_soil_layers(scenario_index, stage_index)
Parameters:
  • scenario_index (int)

  • stage_index (int)

Return type:

bool

has_stage(scenario_index, stage_index)
Parameters:
  • scenario_index (int)

  • stage_index (int)

Return type:

bool

loads: List[Loads]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

nailproperties: NailProperties
projectinfo: ProjectInfo
reinforcements: List[Reinforcements]
scenarios: List[Scenario]
soilcorrelation: SoilCorrelation
soillayers: List[SoilLayerCollection]
soils: SoilCollection
soilvisualizations: SoilVisualisation
spencer_genetic_algorithm_reliability_results: List[SpencerGeneticAlgorithmReliabilityResult]
spencer_genetic_algorithm_results: List[SpencerGeneticAlgorithmResult]
spencer_reliability_results: List[SpencerReliabilityResult]
spencer_results: List[SpencerResult]
statecorrelations: List[StateCorrelation]
states: List[State]
uplift_van_particle_swarm_reliability_results: List[UpliftVanParticleSwarmReliabilityResult]
uplift_van_particle_swarm_results: List[UpliftVanParticleSwarmResult]
uplift_van_reliability_results: List[UpliftVanReliabilityResult]
uplift_van_results: List[UpliftVanResult]
validator()

Set the Validator class.

waternetcreatorsettings: List[WaternetCreatorSettings]
waternets: List[Waternet]
class geolib.models.dstability.internal.DStabilitySubStructure(**data)
Parameters:

data (Any)

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

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

classmethod structure_name()
class geolib.models.dstability.internal.Decorations(**data)

decorations/decorations_x.json.

Parameters:

data (Any)

ContentVersion: Optional[str]
Elevations: Optional[List[Optional[PersistableElevation]]]
Excavations: Optional[List[Optional[PersistableExcavation]]]
Id: Optional[str]
add_excavation(excavation)
Parameters:

excavation (PersistableExcavation)

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

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

classmethod transform_id_to_str(value)
Return type:

str

class geolib.models.dstability.internal.EmbankmentSoilScenarioEnum(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)
CLAY_EMBANKMENT_ON_CLAY = 'ClayEmbankmentOnClay'
CLAY_EMBANKMENT_ON_SAND = 'ClayEmbankmentOnSand'
SAND_EMBANKMENT_ON_CLAY = 'SandEmbankmentOnClay'
SAND_EMBANKMENT_ON_SAND = 'SandEmbankmentOnSand'
class geolib.models.dstability.internal.ForeignKeys(**data)

A dataclass that store the connections between the various unique Ids used in DStability. These can be seen as (implicit) foreign keys.

Parameters:

data (Any)

property class_fields: Dict[str, List[str]]

Return a mapping in the form: classname: [fields]

mapping: Dict[str, Tuple[str, ...]]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

class geolib.models.dstability.internal.Geometry(**data)

geometries/geometry_x.json

Parameters:

data (Any)

ContentVersion: Optional[str]
Id: Optional[str]
Layers: List[PersistableLayer]
add_layer(id, label, notes, points)

Add a new layer to the model. Layers are expected; 1. to contain at least 3 point (non closed polygons) 2. the points need to be in clockwise order 3. the polygon needs to be convex (no intersections with itsself)

Parameters:
  • id (str) – id of the layer

  • label (str) – label of the layer

  • notes (str) – notes for the layers

  • points (List[Points]) – list of Point classes

Returns:

the layer as a persistable object

Return type:

PersistableLayer

contains_point(point)

Check if the given point is on one of the points of the layers

Parameters:

point (Point) – A point type

Returns:

True if this point is found on a layer, False otherwise

Return type:

bool

Todo

Take x, z accuracy into account

get_layer(id)
Parameters:

id (int)

Return type:

PersistableLayer

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

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

classmethod transform_id_to_str(value)
Return type:

str

class geolib.models.dstability.internal.InternalStateTypeEnum(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)
OCR = 'Ocr'
POP = 'Pop'
YIELD_STRESS = 'YieldStress'
class geolib.models.dstability.internal.Loads(**data)

loads/loads_x.json

Parameters:

data (Any)

ContentVersion: Optional[str]
Earthquake: Optional[PersistableEarthquake]
Id: Optional[str]
LayerLoads: Optional[List[Optional[PersistableLayerLoad]]]
LineLoads: Optional[List[Optional[PersistableLineLoad]]]
Trees: Optional[List[Optional[PersistableTree]]]
UniformLoads: Optional[List[Optional[PersistableUniformLoad]]]
add_layer_load(soil_layer_id, consolidations)
Parameters:
  • soil_layer_id (int)

  • consolidations (List[Consolidation])

Return type:

PersistableLayerLoad

add_load(load, consolidations)
Parameters:
  • load (DStabilityLoad)

  • consolidations (List[Consolidation])

Return type:

Union[PersistableUniformLoad, PersistableLineLoad, PersistableLayerLoad, PersistableTree]

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

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

classmethod transform_id_to_str(value)
Return type:

str

class geolib.models.dstability.internal.NailProperties(**data)

nailpropertiesforsoils.json

Parameters:

data (Any)

ContentVersion: Optional[str]
NailPropertiesForSoils: Optional[List[Optional[PersistableNailPropertiesForSoil]]]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

classmethod structure_name()
Return type:

str

class geolib.models.dstability.internal.NullablePersistablePoint(**data)
Parameters:

data (Any)

X: Union[float, str, None]
Z: Union[float, str, None]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

geolib.models.dstability.internal.OptionsType

alias of OptionsTypeEnum

class geolib.models.dstability.internal.OptionsTypeEnum(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)
DEFAULT = 'Default'
THOROUGH = 'Thorough'
class geolib.models.dstability.internal.PersistableBishopBruteForceSettings(**data)
Parameters:

data (Any)

GridEnhancements: Optional[PersistableGridEnhancements]
SearchGrid: Optional[PersistableSearchGrid]
SlipPlaneConstraints: Optional[PersistableSlipPlaneConstraints]
TangentLines: Optional[PersistableTangentLines]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

class geolib.models.dstability.internal.PersistableBishopSettings(**data)
Parameters:

data (Any)

Circle: Optional[PersistableCircle]
Label: Optional[str]
Notes: Optional[str]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

class geolib.models.dstability.internal.PersistableBondStress(**data)
Parameters:

data (Any)

Sigma: Union[float, str, None]
Tau: Union[float, str, None]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

class geolib.models.dstability.internal.PersistableCalculation(**data)
Parameters:

data (Any)

CalculationSettingsId: Optional[str]
Id: Optional[str]
Label: Optional[str]
Notes: Optional[str]
ResultId: Optional[str]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

classmethod transform_id_to_str(value)
Return type:

str

class geolib.models.dstability.internal.PersistableCalculationContribution(**data)
Parameters:

data (Any)

Alpha: Union[float, str, None]
CalculationId: Optional[str]
Property: Optional[str]
UncorrelatedAlpha: Union[float, str, None]
Value: Union[float, str, None]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

classmethod transform_id_to_str(value)
Return type:

str

class geolib.models.dstability.internal.PersistableCircle(**data)
Parameters:

data (Any)

Center: Optional[PersistablePoint]
Radius: Union[float, str, None]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

class geolib.models.dstability.internal.PersistableConsolidation(**data)
Parameters:

data (Any)

Degree: Union[float, str, None]
LayerId: Optional[str]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

classmethod transform_id_to_str(value)
Return type:

str

class geolib.models.dstability.internal.PersistableDitchCharacteristics(**data)
Parameters:

data (Any)

DitchBottomEmbankmentSide: Union[float, str, None]
DitchBottomLandSide: Union[float, str, None]
DitchEmbankmentSide: Union[float, str, None]
DitchLandSide: Union[float, str, None]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

class geolib.models.dstability.internal.PersistableEarthquake(**data)
Parameters:

data (Any)

Consolidations: Optional[List[Optional[PersistableConsolidation]]]
FreeWaterFactor: Optional[float]
HorizontalFactor: Optional[float]
IsEnabled: Optional[bool]
Label: Optional[str]
Notes: Optional[str]
VerticalFactor: Optional[float]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

class geolib.models.dstability.internal.PersistableElevation(**data)
Parameters:

data (Any)

AddedLayerId: Optional[str]
Label: Optional[str]
Notes: Optional[str]
Points: Optional[List[Optional[PersistablePoint]]]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

classmethod transform_id_to_str(value)
Return type:

str

class geolib.models.dstability.internal.PersistableEmbankmentCharacteristics(**data)
Parameters:

data (Any)

EmbankmentToeLandSide: Union[float, str, None]
EmbankmentToeWaterSide: Union[float, str, None]
EmbankmentTopLandSide: Union[float, str, None]
EmbankmentTopWaterSide: Union[float, str, None]
ShoulderBaseLandSide: Union[float, str, None]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

class geolib.models.dstability.internal.PersistableExcavation(**data)
Parameters:

data (Any)

Label: Optional[str]
Notes: Optional[str]
Points: Optional[List[Optional[PersistablePoint]]]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

class geolib.models.dstability.internal.PersistableForbiddenLine(**data)
Parameters:

data (Any)

End: Optional[PersistablePoint]
Label: Optional[str]
Notes: Optional[str]
Start: Optional[PersistablePoint]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

class geolib.models.dstability.internal.PersistableGeneticSlipPlaneConstraints(**data)
Parameters:

data (Any)

IsEnabled: Optional[bool]
MinimumAngleBetweenSlices: Optional[float]
MinimumThrustLinePercentageInsideSlices: Optional[float]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

class geolib.models.dstability.internal.PersistableGeotextile(**data)
Parameters:

data (Any)

End: Optional[PersistablePoint]
Label: Optional[str]
Notes: Optional[str]
ReductionArea: Union[float, str, None]
Start: Optional[PersistablePoint]
TensileStrength: Union[float, str, None]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

class geolib.models.dstability.internal.PersistableGridEnhancements(**data)
Parameters:

data (Any)

ExtrapolateSearchSpace: Optional[bool]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

class geolib.models.dstability.internal.PersistableHeadLine(**data)
Parameters:

data (Any)

Id: Optional[str]
Label: Optional[str]
Notes: Optional[str]
Points: Optional[List[Optional[PersistablePoint]]]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

classmethod transform_id_to_str(value)
Return type:

str

class geolib.models.dstability.internal.PersistableLayer(**data)
Parameters:

data (Any)

Id: Optional[str]
Label: Optional[str]
Notes: Optional[str]
Points: Annotated[List[PersistablePoint]]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

classmethod polygon_chack_validator(points)

Todo

Find a way to check the validity of the given points

classmethod polygon_checks(points)

Todo

Find a way to check the validity of the given points

classmethod transform_id_to_str(value)
Return type:

str

class geolib.models.dstability.internal.PersistableLayerLoad(**data)
Parameters:

data (Any)

Consolidations: Optional[List[Optional[PersistableConsolidation]]]
LayerId: Optional[str]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

classmethod transform_id_to_str(value)
Return type:

str

class geolib.models.dstability.internal.PersistableLineLoad(**data)
Parameters:

data (Any)

Angle: Union[float, str, None]
Consolidations: Optional[List[Optional[PersistableConsolidation]]]
Label: Optional[str]
Location: Optional[PersistablePoint]
Magnitude: Union[float, str, None]
Notes: Optional[str]
Spread: Union[float, str, None]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

class geolib.models.dstability.internal.PersistableMohrCoulombAdvancedShearStrengthModel(**data)
Parameters:

data (Any)

Cohesion: Optional[float]
CohesionAndFrictionAngleCorrelated: bool
CohesionStochasticParameter: PersistableStochasticParameter
Dilatancy: Optional[float]
DilatancyStochasticParameter: PersistableStochasticParameter
FrictionAngle: Optional[float]
FrictionAngleStochasticParameter: PersistableStochasticParameter
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

class geolib.models.dstability.internal.PersistableMohrCoulombClassicShearStrengthModel(**data)
Parameters:

data (Any)

Cohesion: Optional[float]
CohesionAndFrictionAngleCorrelated: bool
CohesionStochasticParameter: PersistableStochasticParameter
FrictionAngle: Optional[float]
FrictionAngleStochasticParameter: PersistableStochasticParameter
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

class geolib.models.dstability.internal.PersistableNail(**data)
Parameters:

data (Any)

BendingStiffness: Optional[float]
CriticalAngle: Optional[float]
Diameter: Union[float, str, None]
Direction: Optional[float]
GroutDiameter: Optional[float]
HorizontalSpacing: Optional[float]
Label: Optional[str]
LateralStresses: Optional[List[Optional[PersistableStressAtDistance]]]
Length: Union[float, str, None]
Location: Optional[PersistablePoint]
MaxPullForce: Optional[float]
Notes: Optional[str]
PlasticMoment: Optional[float]
ShearStresses: Optional[List[Optional[PersistableStressAtDistance]]]
UseFacing: Optional[bool]
UseLateralStress: Optional[bool]
UseShearStress: Optional[bool]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

class geolib.models.dstability.internal.PersistableNailPropertiesForSoil(**data)
Parameters:

data (Any)

AreBondStressesActive: Optional[bool]
BondStresses: Optional[List[Optional[PersistableBondStress]]]
CompressionRatio: Union[float, str, None]
RheologicalCoefficient: Union[float, str, None]
SoilId: Optional[str]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

classmethod transform_id_to_str(value)
Return type:

str

class geolib.models.dstability.internal.PersistablePoint(**data)
Parameters:

data (Any)

X: Union[float, str, None]
Z: Union[float, str, None]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

class geolib.models.dstability.internal.PersistableReferenceLine(**data)
Parameters:

data (Any)

BottomHeadLineId: Optional[str]
Id: Optional[str]
Label: Optional[str]
Notes: Optional[str]
Points: Optional[List[Optional[PersistablePoint]]]
TopHeadLineId: Optional[str]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

classmethod transform_id_to_str(value)
Return type:

str

class geolib.models.dstability.internal.PersistableSearchArea(**data)
Parameters:

data (Any)

Height: Optional[float]
Label: Optional[str]
Notes: Optional[str]
TopLeft: Optional[NullablePersistablePoint]
Width: Optional[float]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

class geolib.models.dstability.internal.PersistableSearchGrid(**data)
Parameters:

data (Any)

BottomLeft: Optional[NullablePersistablePoint]
Label: Optional[str]
Notes: Optional[str]
NumberOfPointsInX: Optional[int]
NumberOfPointsInZ: Optional[int]
Space: Optional[float]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

class geolib.models.dstability.internal.PersistableShadingTypeEnum(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)
DIAGONAL_A = 'DiagonalA'
DIAGONAL_B = 'DiagonalB'
DIAGONAL_C = 'DiagonalC'
DIAGONAL_D = 'DiagonalD'
DOT_A = 'DotA'
DOT_B = 'DotB'
DOT_C = 'DotC'
DOT_D = 'DotD'
HORIZONTAL_A = 'HorizontalA'
HORIZONTAL_B = 'HorizontalB'
NONE = 'None'
class geolib.models.dstability.internal.PersistableSlice(**data)
Parameters:

data (Any)

ArcLength: Union[float, str, None]
BottomAngle: Union[float, str, None]
BottomLeft: Optional[PersistablePoint]
BottomRight: Optional[PersistablePoint]
CohesionInput: Union[float, str, None]
CohesionOutput: Union[float, str, None]
DegreeOfConsolidationLoadPorePressure: Union[float, str, None]
DegreeOfConsolidationPorePressure: Union[float, str, None]
DilatancyInput: Union[float, str, None]
DilatancyOutput: Union[float, str, None]
EffectiveStress: Union[float, str, None]
HorizontalPorePressure: Union[float, str, None]
HorizontalSoilQuakeStress: Union[float, str, None]
HydrostaticPorePressure: Union[float, str, None]
Label: Optional[str]
LoadStress: Union[float, str, None]
MInput: Union[float, str, None]
NormalStress: Union[float, str, None]
Ocr: Union[float, str, None]
PhiInput: Union[float, str, None]
PhiOutput: Union[float, str, None]
PiezometricPorePressure: Union[float, str, None]
Pop: Union[float, str, None]
SInput: Union[float, str, None]
ShearStrengthModelType: Optional[ShearStrengthModelTypePhreaticLevelInternal]
ShearStress: Union[float, str, None]
SuOutput: Union[float, str, None]
SurfacePorePressure: Union[float, str, None]
TopAngle: Union[float, str, None]
TopLeft: Optional[PersistablePoint]
TopRight: Optional[PersistablePoint]
TotalPorePressure: Union[float, str, None]
TotalStress: Union[float, str, None]
UpliftFactor: Union[float, str, None]
VerticalPorePressure: Union[float, str, None]
VerticalSoilQuakeStress: Union[float, str, None]
WaterQuakeStress: Union[float, str, None]
Weight: Union[float, str, None]
Width: Union[float, str, None]
YieldStress: Union[float, str, None]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

class geolib.models.dstability.internal.PersistableSlipPlaneConstraints(**data)
Parameters:

data (Any)

IsSizeConstraintsEnabled: Optional[bool]
IsZoneAConstraintsEnabled: Optional[bool]
IsZoneBConstraintsEnabled: Optional[bool]
MinimumSlipPlaneDepth: Optional[float]
MinimumSlipPlaneLength: Optional[float]
WidthZoneA: Optional[float]
WidthZoneB: Optional[float]
XLeftZoneA: Optional[float]
XLeftZoneB: Optional[float]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

class geolib.models.dstability.internal.PersistableSoil(**data)
Parameters:

data (Any)

Code: str
Id: str
IsProbabilistic: bool
MohrCoulombAdvancedShearStrengthModel: PersistableMohrCoulombAdvancedShearStrengthModel
MohrCoulombClassicShearStrengthModel: PersistableMohrCoulombClassicShearStrengthModel
Name: Optional[str]
Notes: Optional[str]
ShearStrengthModelTypeAbovePhreaticLevel: ShearStrengthModelTypePhreaticLevelInternal
ShearStrengthModelTypeBelowPhreaticLevel: ShearStrengthModelTypePhreaticLevelInternal
SuShearStrengthModel: PersistableSuShearStrengthModel
SuTable: PersistableSuTable
VolumetricWeightAbovePhreaticLevel: float
VolumetricWeightBelowPhreaticLevel: float
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

classmethod transform_id_to_str(value)
Return type:

str

class geolib.models.dstability.internal.PersistableSoilContribution(**data)
Parameters:

data (Any)

Alpha: Union[float, str, None]
Property: Optional[str]
SoilId: Optional[str]
UncorrelatedAlpha: Union[float, str, None]
Value: Union[float, str, None]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

classmethod transform_id_to_str(value)
Return type:

str

class geolib.models.dstability.internal.PersistableSoilCorrelation(**data)
Parameters:

data (Any)

CorrelatedSoilIds: Optional[List[str]]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

classmethod transform_id_to_str(values)
Return type:

str

class geolib.models.dstability.internal.PersistableSoilLayer(**data)
Parameters:

data (Any)

LayerId: Optional[str]
SoilId: Optional[str]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

classmethod transform_id_to_str(value)
Return type:

str

class geolib.models.dstability.internal.PersistableSoilVisualization(**data)
Parameters:

data (Any)

Color: Optional[str]
PersistableShadingType: Optional[PersistableShadingTypeEnum]
SoilId: Optional[str]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

classmethod transform_id_to_str(value)
Return type:

str

class geolib.models.dstability.internal.PersistableSpencerGeneticSettings(**data)
Parameters:

data (Any)

Label: Optional[str]
Notes: Optional[str]
OptionsType: Optional[OptionsTypeEnum]
SlipPlaneA: Optional[List[Optional[PersistablePoint]]]
SlipPlaneB: Optional[List[Optional[PersistablePoint]]]
SlipPlaneConstraints: Optional[PersistableGeneticSlipPlaneConstraints]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

class geolib.models.dstability.internal.PersistableSpencerSettings(**data)
Parameters:

data (Any)

Label: Optional[str]
Notes: Optional[str]
SlipPlane: Optional[List[Optional[PersistablePoint]]]
SlipPlaneConstraints: Optional[PersistableGeneticSlipPlaneConstraints]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

class geolib.models.dstability.internal.PersistableSpencerSlice(**data)
Parameters:

data (Any)

ArcLength: Union[float, str, None]
BottomAngle: Union[float, str, None]
BottomLeft: Optional[PersistablePoint]
BottomRight: Optional[PersistablePoint]
CohesionInput: Union[float, str, None]
CohesionOutput: Union[float, str, None]
DegreeOfConsolidationLoadPorePressure: Union[float, str, None]
DegreeOfConsolidationPorePressure: Union[float, str, None]
DilatancyInput: Union[float, str, None]
DilatancyOutput: Union[float, str, None]
EffectiveStress: Union[float, str, None]
HorizontalPorePressure: Union[float, str, None]
HorizontalSoilQuakeStress: Union[float, str, None]
HydrostaticPorePressure: Union[float, str, None]
Label: Optional[str]
LeftForce: Union[float, str, None]
LeftForceAngle: Union[float, str, None]
LeftForceY: Union[float, str, None]
LoadStress: Union[float, str, None]
MInput: Union[float, str, None]
NormalStress: Union[float, str, None]
Ocr: Union[float, str, None]
PhiInput: Union[float, str, None]
PhiOutput: Union[float, str, None]
PiezometricPorePressure: Union[float, str, None]
Pop: Union[float, str, None]
RightForce: Union[float, str, None]
RightForceAngle: Union[float, str, None]
RightForceY: Union[float, str, None]
SInput: Union[float, str, None]
ShearStrengthModelType: Optional[ShearStrengthModelTypePhreaticLevelInternal]
ShearStress: Union[float, str, None]
SuOutput: Union[float, str, None]
SurfacePorePressure: Union[float, str, None]
TopAngle: Union[float, str, None]
TopLeft: Optional[PersistablePoint]
TopRight: Optional[PersistablePoint]
TotalPorePressure: Union[float, str, None]
TotalStress: Union[float, str, None]
UpliftFactor: Union[float, str, None]
VerticalPorePressure: Union[float, str, None]
VerticalSoilQuakeStress: Union[float, str, None]
WaterQuakeStress: Union[float, str, None]
Weight: Union[float, str, None]
Width: Union[float, str, None]
YieldStress: Union[float, str, None]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

class geolib.models.dstability.internal.PersistableStateCorrelation(**data)
Parameters:

data (Any)

CorrelatedStateIds: Optional[List[Optional[str]]]
IsFullyCorrelated: Optional[bool]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

classmethod transform_id_to_str(values)
Return type:

str

class geolib.models.dstability.internal.PersistableStateLine(**data)
Parameters:

data (Any)

Points: Optional[List[Optional[PersistablePoint]]]
Values: Optional[List[Optional[PersistableStateLinePoint]]]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

class geolib.models.dstability.internal.PersistableStateLinePoint(**data)
Parameters:

data (Any)

Above: Optional[PersistableStress]
Below: Optional[PersistableStress]
Id: Optional[str]
IsAboveAndBelowCorrelated: Optional[bool]
IsProbabilistic: Optional[bool]
Label: Optional[str]
Notes: Optional[str]
X: Union[float, str, None]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

classmethod transform_id_to_str(value)
Return type:

str

class geolib.models.dstability.internal.PersistableStateLinePointContribution(**data)
Parameters:

data (Any)

Alpha: Union[float, str, None]
Property: Optional[str]
StateLinePointId: Optional[str]
UncorrelatedAlpha: Union[float, str, None]
Value: Union[float, str, None]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

classmethod transform_id_to_str(value)
Return type:

str

class geolib.models.dstability.internal.PersistableStatePoint(**data)
Parameters:

data (Any)

Id: Optional[str]
IsProbabilistic: Optional[bool]
Label: Optional[str]
LayerId: Optional[str]
Notes: Optional[str]
Point: Optional[PersistablePoint]
Stress: Optional[PersistableStress]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

classmethod transform_id_to_str(value)
Return type:

str

class geolib.models.dstability.internal.PersistableStatePointContribution(**data)
Parameters:

data (Any)

Alpha: Union[float, str, None]
Property: Optional[str]
StatePointId: Optional[str]
UncorrelatedAlpha: Union[float, str, None]
Value: Union[float, str, None]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

classmethod transform_id_to_str(value)
Return type:

str

class geolib.models.dstability.internal.PersistableStochasticParameter(**data)
Parameters:

data (Any)

IsProbabilistic: bool
Mean: float
StandardDeviation: float
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

class geolib.models.dstability.internal.PersistableStress(**data)
Parameters:

data (Any)

Ocr: float
Pop: float
PopStochasticParameter: PersistableStochasticParameter
StateType: Optional[InternalStateTypeEnum]
YieldStress: float
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

class geolib.models.dstability.internal.PersistableStressAtDistance(**data)
Parameters:

data (Any)

Distance: Union[float, str, None]
Stress: Union[float, str, None]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

class geolib.models.dstability.internal.PersistableSuShearStrengthModel(**data)
Parameters:

data (Any)

ShearStrengthRatio: Optional[float]
ShearStrengthRatioAndShearStrengthExponentCorrelated: bool
ShearStrengthRatioStochasticParameter: PersistableStochasticParameter
StrengthIncreaseExponent: Optional[float]
StrengthIncreaseExponentStochasticParameter: PersistableStochasticParameter
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

class geolib.models.dstability.internal.PersistableSuTable(**data)
Parameters:

data (Any)

IsSuTableProbabilistic: bool
StrengthIncreaseExponent: float
StrengthIncreaseExponentStochasticParameter: PersistableStochasticParameter
SuTablePoints: List[PersistableSuTablePoint]
SuTableVariationCoefficient: float
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

to_global_su_table()
class geolib.models.dstability.internal.PersistableSuTablePoint(**data)
Parameters:

data (Any)

EffectiveStress: float
Su: float
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

class geolib.models.dstability.internal.PersistableTangentArea(**data)
Parameters:

data (Any)

Height: Optional[float]
Label: Optional[str]
Notes: Optional[str]
TopZ: Union[float, str, None]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

class geolib.models.dstability.internal.PersistableTangentLines(**data)
Parameters:

data (Any)

BottomTangentLineZ: Union[float, str, None]
Label: Optional[str]
Notes: Optional[str]
NumberOfTangentLines: Optional[int]
Space: Optional[float]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

class geolib.models.dstability.internal.PersistableTree(**data)
Parameters:

data (Any)

Force: Union[float, str, None]
Label: Optional[str]
Location: Optional[PersistablePoint]
Notes: Optional[str]
RootZoneWidth: Union[float, str, None]
Spread: Union[float, str, None]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

class geolib.models.dstability.internal.PersistableTwoCirclesOnTangentLine(**data)
Parameters:

data (Any)

FirstCircleCenter: Optional[NullablePersistablePoint]
FirstCircleRadius: Union[float, str, None]
SecondCircleCenter: Optional[NullablePersistablePoint]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

class geolib.models.dstability.internal.PersistableUniformLoad(**data)
Parameters:

data (Any)

Consolidations: Optional[List[Optional[PersistableConsolidation]]]
End: Union[float, str, None]
Label: Optional[str]
Magnitude: Union[float, str, None]
Notes: Optional[str]
Spread: Union[float, str, None]
Start: Union[float, str, None]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

class geolib.models.dstability.internal.PersistableUpliftVanParticleSwarmSettings(**data)
Parameters:

data (Any)

Label: Optional[str]
Notes: Optional[str]
OptionsType: Optional[OptionsTypeEnum]
SearchAreaA: Optional[PersistableSearchArea]
SearchAreaB: Optional[PersistableSearchArea]
SlipPlaneConstraints: Optional[PersistableSlipPlaneConstraints]
TangentArea: Optional[PersistableTangentArea]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

class geolib.models.dstability.internal.PersistableUpliftVanSettings(**data)
Parameters:

data (Any)

Label: Optional[str]
Notes: Optional[str]
SlipPlane: Optional[PersistableTwoCirclesOnTangentLine]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

class geolib.models.dstability.internal.ProjectInfo(**data)

projectinfo.json.

Parameters:

data (Any)

Analyst: Optional[str]
ApplicationCreated: Optional[str]
ApplicationModified: Optional[str]
ContentVersion: Optional[str]
Created: Optional[date]
CrossSection: Optional[str]
Date: Optional[date]
IsDataValidated: Optional[bool]
LastModified: Optional[date]
LastModifier: Optional[str]
Path: Optional[str]
Project: Optional[str]
Remarks: Optional[str]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

classmethod nltime(date)
Parameters:

date (Union[date, str])

Return type:

date

classmethod nltime_validator(date)
Parameters:

date (Union[date, str])

Return type:

date

class geolib.models.dstability.internal.Reinforcements(**data)

reinforcements/reinforcements_x.json

Parameters:

data (Any)

ContentVersion: Optional[str]
ForbiddenLines: List[PersistableForbiddenLine]
Geotextiles: List[PersistableGeotextile]
Id: Optional[str]
Nails: List[PersistableNail]
add_reinforcement(reinforcement)
Parameters:

reinforcement (DStabilityReinforcement)

Return type:

Union[PersistableForbiddenLine, PersistableGeotextile, PersistableNail]

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

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

classmethod transform_id_to_str(value)
Return type:

str

class geolib.models.dstability.internal.Scenario(**data)

scenarios/scenario_x.json

Parameters:

data (Any)

Calculations: Optional[List[PersistableCalculation]]
ContentVersion: Optional[str]
Id: Optional[str]
Label: Optional[str]
Notes: Optional[str]
Stages: Optional[List[Stage]]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

classmethod structure_name()
Return type:

str

classmethod transform_id_to_str(value)
Return type:

str

class geolib.models.dstability.internal.ShearStrengthModelTypePhreaticLevelInternal(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)

Shear Strength Model Type. These types represent the types that are internally defined in the json files of D-Stability.

MOHR_COULOMB_ADVANCED = 'MohrCoulombAdvanced'
MOHR_COULOMB_CLASSIC = 'MohrCoulombClassic'
NONE = 'None'
SU = 'Su'
SUTABLE = 'SuTable'
to_global_shear_strength_model()
class geolib.models.dstability.internal.SoilCollection(**data)

soils.json

Parameters:

data (Any)

ContentVersion: Optional[str]
Soils: List[PersistableSoil]
add_soil(soil)

Add a new soil to the model.

Parameters:

soil (Soil) – a new soil

Return type:

PersistableSoil

Returns:

None

get_global_soil(code)

Get soil by the given code.

Parameters:

code (str) – code of the soil

Returns:

the soil object

Return type:

Soil

get_soil(code)

Get soil by the given code.

Parameters:

code (str) – code of the soil

Returns:

the soil object

Return type:

Soil

get_soil_by_name(name)

Get soil by the given name.

Parameters:
  • code (str) – name of the soil

  • name (str)

Returns:

the soil object

Return type:

Soil

has_soil_code(code)

Checks if the soilcode is available in the current soil list.

Parameters:

code (str) – code of the soil

Returns:

True if found, False if not

Return type:

bool

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

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

classmethod structure_name()
Return type:

str

class geolib.models.dstability.internal.SoilCorrelation(**data)

soilcorrelations.json

Parameters:

data (Any)

ContentVersion: Optional[str]
SoilCorrelations: Optional[List[Optional[PersistableSoilCorrelation]]]
add_soil_correlation(list_correlated_soil_ids)

Add a new soil correlation to the model.

Parameters:

list_correlated_soil_ids (List[str]) – a list of soil ids that are correlated

Returns:

None

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

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

classmethod structure_name()
Return type:

str

class geolib.models.dstability.internal.SoilLayerCollection(**data)

soillayers/soillayers_x.json

Parameters:

data (Any)

ContentVersion: Optional[str]
Id: Optional[str]
SoilLayers: List[PersistableSoilLayer]
add_soillayer(layer_id, soil_id)
Parameters:
  • layer_id (str)

  • soil_id (str)

Return type:

PersistableSoilLayer

get_ids(exclude_soil_layer_id)
Parameters:

exclude_soil_layer_id (Optional[int])

Return type:

Set[str]

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

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

classmethod structure_name()
Return type:

str

classmethod transform_id_to_str(value)
Return type:

str

class geolib.models.dstability.internal.SoilVisualisation(**data)
Parameters:

data (Any)

ContentVersion: Optional[str]
SoilVisualizations: Optional[List[Optional[PersistableSoilVisualization]]]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

classmethod structure_name()
Return type:

str

class geolib.models.dstability.internal.SpencerGeneticAlgorithmReliabilityResult(**data)
Parameters:

data (Any)

CalculationContributions: Optional[List[Optional[PersistableCalculationContribution]]]
Converged: Optional[bool]
DistanceToConvergence: Union[float, str, None]
FailureProbability: Union[float, str, None]
Id: Optional[str]
ReliabilityIndex: Union[float, str, None]
SlipPlane: Optional[List[Optional[PersistablePoint]]]
SoilContributions: Optional[List[Optional[PersistableSoilContribution]]]
StateLinePointContributions: Optional[List[Optional[PersistableStateLinePointContribution]]]
StatePointContributions: Optional[List[Optional[PersistableStatePointContribution]]]
get_slipplane_output()

Get condensed slipplane data

Return type:

SpencerSlipPlaneResult

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

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

classmethod transform_id_to_str(value)
Return type:

str

class geolib.models.dstability.internal.SpencerGeneticAlgorithmResult(**data)
Parameters:

data (Any)

FactorOfSafety: Union[float, str, None]
Id: Optional[str]
Points: Optional[List[Optional[PersistablePoint]]]
ResultThreshold: Union[float, str, None]
Slices: Optional[List[Optional[PersistableSpencerSlice]]]
SlipPlane: Optional[List[Optional[PersistablePoint]]]
SlipPlaneResults: Optional[list]
get_slipplane_output()

Get condensed slipplane data

Return type:

SpencerSlipPlaneResult

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

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

classmethod transform_id_to_str(value)
Return type:

str

class geolib.models.dstability.internal.SpencerReliabilityResult(**data)
Parameters:

data (Any)

CalculationContributions: Optional[List[Optional[PersistableCalculationContribution]]]
Converged: Optional[bool]
DistanceToConvergence: Union[float, str, None]
FailureProbability: Union[float, str, None]
Id: Optional[str]
ReliabilityIndex: Union[float, str, None]
SlipPlane: Optional[List[Optional[PersistablePoint]]]
SoilContributions: Optional[List[Optional[PersistableSoilContribution]]]
StateLinePointContributions: Optional[List[Optional[PersistableStateLinePointContribution]]]
StatePointContributions: Optional[List[Optional[PersistableStatePointContribution]]]
get_slipplane_output()

Get condensed slipplane data

Return type:

SpencerSlipPlaneResult

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

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

classmethod transform_id_to_str(value)
Return type:

str

class geolib.models.dstability.internal.SpencerResult(**data)
Parameters:

data (Any)

FactorOfSafety: Union[float, str, None]
Id: Optional[str]
Points: Optional[List[Optional[PersistablePoint]]]
Slices: Optional[List[Optional[PersistableSpencerSlice]]]
SlipPlane: Optional[List[Optional[PersistablePoint]]]
get_slipplane_output()

Get condensed slipplane data

Return type:

SpencerSlipPlaneResult

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

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

classmethod transform_id_to_str(value)
Return type:

str

class geolib.models.dstability.internal.SpencerSlipPlaneResult(**data)
Parameters:

data (Any)

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

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

slipplane: List[Point]
class geolib.models.dstability.internal.Stage(**data)

stages/stage_x.json

Parameters:

data (Any)

DecorationsId: Optional[str]
GeometryId: Optional[str]
Id: Optional[str]
Label: Optional[str]
LoadsId: Optional[str]
Notes: Optional[str]
ReinforcementsId: Optional[str]
SoilLayersId: Optional[str]
StateCorrelationsId: Optional[str]
StateId: Optional[str]
WaternetCreatorSettingsId: Optional[str]
WaternetId: Optional[str]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

classmethod structure_name()
Return type:

str

classmethod transform_id_to_str(value)
Return type:

str

class geolib.models.dstability.internal.State(**data)

states/states_x.json

Parameters:

data (Any)

ContentVersion: Optional[str]
Id: Optional[str]
StateLines: List[PersistableStateLine]
StatePoints: List[PersistableStatePoint]
add_state_line(points, state_points)
Parameters:
Return type:

PersistableStateLine

add_state_point(state_point)
Parameters:

state_point (PersistableStatePoint)

Return type:

None

get_state(state_id)
Parameters:

state_id (int)

Return type:

Union[PersistableStatePoint, PersistableStateLine]

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

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

classmethod structure_name()
Return type:

str

classmethod transform_id_to_str(value)
Return type:

str

class geolib.models.dstability.internal.StateCorrelation(**data)

statecorrelations/statecorrelations_1.json

Parameters:

data (Any)

ContentVersion: Optional[str]
Id: Optional[str]
StateCorrelations: Optional[List[Optional[PersistableStateCorrelation]]]
add_state_correlation(state_correlation)
Parameters:

state_correlation (PersistableStateCorrelation)

Return type:

None

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

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

classmethod structure_name()
Return type:

str

classmethod transform_id_to_str(value)
Return type:

str

class geolib.models.dstability.internal.UpliftVanParticleSwarmReliabilityResult(**data)
Parameters:

data (Any)

CalculationContributions: Optional[List[Optional[PersistableCalculationContribution]]]
Converged: Optional[bool]
DistanceToConvergence: Union[float, str, None]
FailureProbability: Union[float, str, None]
Id: Optional[str]
LeftCenter: Optional[PersistablePoint]
ReliabilityIndex: Union[float, str, None]
ResultThreshold: Union[float, str, None]
RightCenter: Optional[PersistablePoint]
SlipPlaneResults: Optional[list]
SoilContributions: Optional[List[Optional[PersistableSoilContribution]]]
StateLinePointContributions: Optional[List[Optional[PersistableStateLinePointContribution]]]
StatePointContributions: Optional[List[Optional[PersistableStatePointContribution]]]
TangentLine: Union[float, str, None]
get_slipcircle_output()

Get condensed slipcircle data

Return type:

UpliftVanSlipCircleResult

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

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

classmethod transform_id_to_str(value)
Return type:

str

class geolib.models.dstability.internal.UpliftVanParticleSwarmResult(**data)
Parameters:

data (Any)

FactorOfSafety: Union[float, str, None]
Id: Optional[str]
LeftCenter: Optional[PersistablePoint]
Points: Optional[List[Optional[PersistablePoint]]]
ResultThreshold: Union[float, str, None]
RightCenter: Optional[PersistablePoint]
Slices: Optional[List[Optional[PersistableSlice]]]
SlipPlaneResults: Optional[list]
TangentLine: Union[float, str, None]
get_slipcircle_output()

Get condensed slipplane data

Return type:

UpliftVanSlipCircleResult

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

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

classmethod transform_id_to_str(value)
Return type:

str

class geolib.models.dstability.internal.UpliftVanReliabilityResult(**data)
Parameters:

data (Any)

CalculationContributions: Optional[List[Optional[PersistableCalculationContribution]]]
Converged: Optional[bool]
DistanceToConvergence: Union[float, str, None]
FailureProbability: Union[float, str, None]
Id: Optional[str]
LeftCenter: Optional[PersistablePoint]
ReliabilityIndex: Union[float, str, None]
RightCenter: Optional[PersistablePoint]
SoilContributions: Optional[List[Optional[PersistableSoilContribution]]]
StateLinePointContributions: Optional[List[Optional[PersistableStateLinePointContribution]]]
StatePointContributions: Optional[List[Optional[PersistableStatePointContribution]]]
TangentLine: Union[float, str, None]
get_slipcircle_output()

Get condensed slipcircle data

Return type:

UpliftVanSlipCircleResult

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

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

classmethod transform_id_to_str(value)
Return type:

str

class geolib.models.dstability.internal.UpliftVanResult(**data)
Parameters:

data (Any)

FactorOfSafety: Union[float, str, None]
Id: Optional[str]
LeftCenter: Optional[PersistablePoint]
Points: Optional[List[Optional[PersistablePoint]]]
RightCenter: Optional[PersistablePoint]
Slices: Optional[List[Optional[PersistableSlice]]]
TangentLine: Union[float, str, None]
get_slipcircle_output()

Get condensed slipcircle data

Return type:

UpliftVanSlipCircleResult

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

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

classmethod transform_id_to_str(value)
Return type:

str

class geolib.models.dstability.internal.UpliftVanSlipCircleResult(**data)
Parameters:

data (Any)

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

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

x_left: float
x_right: float
z_left: float
z_right: float
z_tangent: float
class geolib.models.dstability.internal.Waternet(**data)

waternets/waternet_x.json.

Parameters:

data (Any)

ContentVersion: Optional[str]
HeadLines: List[PersistableHeadLine]
Id: Optional[str]
PhreaticLineId: Optional[str]
ReferenceLines: List[PersistableReferenceLine]
UnitWeightWater: Optional[float]
add_head_line(head_line_id, label, notes, points, is_phreatic_line)
Parameters:
  • head_line_id (str)

  • label (str)

  • notes (str)

  • points (List[Point])

  • is_phreatic_line (bool)

Return type:

PersistableHeadLine

add_reference_line(reference_line_id, label, notes, points, bottom_head_line_id, top_head_line_id)
Parameters:
  • reference_line_id (str)

  • label (str)

  • notes (str)

  • points (List[Point])

  • bottom_head_line_id (str)

  • top_head_line_id (str)

Return type:

PersistableReferenceLine

get_head_line(head_line_id)
Parameters:

head_line_id (str)

Return type:

PersistableHeadLine

get_reference_line(reference_line_id)
Parameters:

reference_line_id (str)

Return type:

PersistableReferenceLine

has_head_line_id(head_line_id)
Parameters:

head_line_id (str)

Return type:

bool

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

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

classmethod structure_name()
Return type:

str

classmethod transform_id_to_str(value)
Return type:

str

class geolib.models.dstability.internal.WaternetCreatorSettings(**data)

waternetcreatorsettings/waternetcreatorsettings_x.json

Parameters:

data (Any)

AdjustForUplift: Optional[bool]
AquiferInsideAquitardLayerId: Optional[str]
AquiferLayerId: Optional[str]
AquiferLayerInsideAquitardLeakageLengthInwards: Union[float, str, None]
AquiferLayerInsideAquitardLeakageLengthOutwards: Union[float, str, None]
AquitardHeadLandSide: Union[float, str, None]
AquitardHeadWaterSide: Union[float, str, None]
ContentVersion: Optional[str]
DitchCharacteristics: Optional[PersistableDitchCharacteristics]
DrainageConstruction: Optional[PersistablePoint]
EmbankmentCharacteristics: Optional[PersistableEmbankmentCharacteristics]
EmbankmentSoilScenario: EmbankmentSoilScenarioEnum
Id: Optional[str]
InitialLevelEmbankmentTopLandSide: Union[float, str, None]
InitialLevelEmbankmentTopWaterSide: Union[float, str, None]
IntrusionLength: Union[float, str, None]
IsAquiferLayerInsideAquitard: Optional[bool]
IsDitchPresent: Optional[bool]
IsDrainageConstructionPresent: Optional[bool]
MeanWaterLevel: Union[float, str, None]
NormativeWaterLevel: Union[float, str, None]
OffsetEmbankmentToeLandSide: Union[float, str, None]
OffsetEmbankmentTopLandSide: Union[float, str, None]
OffsetEmbankmentTopWaterSide: Union[float, str, None]
OffsetShoulderBaseLandSide: Union[float, str, None]
PleistoceneLeakageLengthInwards: Union[float, str, None]
PleistoceneLeakageLengthOutwards: Union[float, str, None]
UseDefaultOffsets: Optional[bool]
WaterLevelHinterland: Union[float, str, None]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

transform_id_to_str(value)
Return type:

str