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_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]] = {'CalculationContributions': FieldInfo(annotation=Union[List[Union[PersistableCalculationContribution, NoneType]], NoneType], required=False, default=None), 'Circle': FieldInfo(annotation=Union[PersistableCircle, NoneType], required=False, default=None), 'Converged': FieldInfo(annotation=Union[bool, NoneType], required=False, default=None), 'DistanceToConvergence': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'FailureProbability': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'Id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'ReliabilityIndex': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'ResultThreshold': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'SlipPlaneResults': FieldInfo(annotation=Union[list, NoneType], required=False, default=None), 'SoilContributions': FieldInfo(annotation=Union[List[Union[PersistableSoilContribution, NoneType]], NoneType], required=False, default=None), 'StateLinePointContributions': FieldInfo(annotation=Union[List[Union[PersistableStateLinePointContribution, NoneType]], NoneType], required=False, default=None), 'StatePointContributions': FieldInfo(annotation=Union[List[Union[PersistableStatePointContribution, NoneType]], 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.

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_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]] = {'Circle': FieldInfo(annotation=Union[PersistableCircle, NoneType], required=False, default=None), 'FactorOfSafety': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'Id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'Points': FieldInfo(annotation=Union[List[Union[PersistablePoint, NoneType]], NoneType], required=False, default=None), 'ResultThreshold': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'Slices': FieldInfo(annotation=Union[List[Union[PersistableSlice, NoneType]], NoneType], required=False, default=None), 'SlipPlaneResults': FieldInfo(annotation=Union[list, 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.

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_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]] = {'CalculationContributions': FieldInfo(annotation=Union[List[Union[PersistableCalculationContribution, NoneType]], NoneType], required=False, default=None), 'Circle': FieldInfo(annotation=Union[PersistableCircle, NoneType], required=False, default=None), 'Converged': FieldInfo(annotation=Union[bool, NoneType], required=False, default=None), 'DistanceToConvergence': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'FailureProbability': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'Id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'ReliabilityIndex': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'SoilContributions': FieldInfo(annotation=Union[List[Union[PersistableSoilContribution, NoneType]], NoneType], required=False, default=None), 'StateLinePointContributions': FieldInfo(annotation=Union[List[Union[PersistableStateLinePointContribution, NoneType]], NoneType], required=False, default=None), 'StatePointContributions': FieldInfo(annotation=Union[List[Union[PersistableStatePointContribution, NoneType]], 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.

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_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]] = {'Circle': FieldInfo(annotation=Union[PersistableCircle, NoneType], required=False, default=None), 'FactorOfSafety': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'Id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'Points': FieldInfo(annotation=Union[List[Union[PersistablePoint, NoneType]], NoneType], required=False, default=None), 'Slices': FieldInfo(annotation=Union[List[Union[PersistableSlice, NoneType]], 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.

classmethod transform_id_to_str(value)
Return type:

str

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

data (Any)

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]] = {'radius': FieldInfo(annotation=float, required=True), 'x': FieldInfo(annotation=float, required=True), 'z': 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.

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_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]] = {'AnalysisType': FieldInfo(annotation=Union[AnalysisTypeEnum, NoneType], required=False, default=<AnalysisTypeEnum.BISHOP_BRUTE_FORCE: 'BishopBruteForce'>), 'Bishop': FieldInfo(annotation=Union[PersistableBishopSettings, NoneType], required=False, default=PersistableBishopSettings(Circle=PersistableCircle(Center=PersistablePoint(X='NaN', Z='NaN'), Radius='NaN'), Label='', Notes='')), 'BishopBruteForce': FieldInfo(annotation=Union[PersistableBishopBruteForceSettings, NoneType], required=False, default=PersistableBishopBruteForceSettings(GridEnhancements=PersistableGridEnhancements(ExtrapolateSearchSpace=True), SearchGrid=PersistableSearchGrid(BottomLeft=None, Label='', Notes='', NumberOfPointsInX=1, NumberOfPointsInZ=1, Space=1.0), SlipPlaneConstraints=PersistableSlipPlaneConstraints(IsSizeConstraintsEnabled=False, IsZoneAConstraintsEnabled=False, IsZoneBConstraintsEnabled=False, MinimumSlipPlaneDepth=0.0, MinimumSlipPlaneLength=0.0, WidthZoneA=0.0, WidthZoneB=0.0, XLeftZoneA=0.0, XLeftZoneB=0.0), TangentLines=PersistableTangentLines(BottomTangentLineZ='NaN', Label='', Notes='', NumberOfTangentLines=1, Space=0.5))), 'CalculationType': FieldInfo(annotation=Union[CalculationTypeEnum, NoneType], required=False, default=<CalculationTypeEnum.DETERMINISTIC: 'Deterministic'>), 'ContentVersion': FieldInfo(annotation=Union[str, NoneType], required=False, default='2'), 'Id': FieldInfo(annotation=Union[str, NoneType], required=False, default='19'), 'ModelFactorMean': FieldInfo(annotation=Union[float, NoneType], required=False, default=1.05), 'ModelFactorStandardDeviation': FieldInfo(annotation=Union[float, NoneType], required=False, default=0.033), 'Spencer': FieldInfo(annotation=Union[PersistableSpencerSettings, NoneType], required=False, default=PersistableSpencerSettings(Label='', Notes='', SlipPlane=None, SlipPlaneConstraints=PersistableGeneticSlipPlaneConstraints(IsEnabled=False, MinimumAngleBetweenSlices=0.0, MinimumThrustLinePercentageInsideSlices=0.0))), 'SpencerGenetic': FieldInfo(annotation=Union[PersistableSpencerGeneticSettings, NoneType], required=False, default=PersistableSpencerGeneticSettings(Label='', Notes='', OptionsType=<OptionsTypeEnum.DEFAULT: 'Default'>, SlipPlaneA=None, SlipPlaneB=None, SlipPlaneConstraints=PersistableGeneticSlipPlaneConstraints(IsEnabled=False, MinimumAngleBetweenSlices=0.0, MinimumThrustLinePercentageInsideSlices=0.0))), 'UpliftVan': FieldInfo(annotation=Union[PersistableUpliftVanSettings, NoneType], required=False, default=PersistableUpliftVanSettings(Label='', Notes='', SlipPlane=PersistableTwoCirclesOnTangentLine(FirstCircleCenter=NullablePersistablePoint(X='NaN', Z='NaN'), FirstCircleRadius='NaN', SecondCircleCenter=NullablePersistablePoint(X='NaN', Z='NaN')))), 'UpliftVanParticleSwarm': FieldInfo(annotation=Union[PersistableUpliftVanParticleSwarmSettings, NoneType], required=False, default=PersistableUpliftVanParticleSwarmSettings(Label='', Notes='', OptionsType=<OptionsTypeEnum.DEFAULT: 'Default'>, SearchAreaA=PersistableSearchArea(Height=0.0, Label='', Notes='', TopLeft=None, Width=0.0), SearchAreaB=PersistableSearchArea(Height=0.0, Label='', Notes='', TopLeft=None, Width=0.0), SlipPlaneConstraints=PersistableSlipPlaneConstraints(IsSizeConstraintsEnabled=False, IsZoneAConstraintsEnabled=False, IsZoneBConstraintsEnabled=False, MinimumSlipPlaneDepth=0.0, MinimumSlipPlaneLength=0.0, WidthZoneA=0.0, WidthZoneB=0.0, XLeftZoneA=0.0, XLeftZoneB=0.0), TangentArea=PersistableTangentArea(Height=0.0, Label='', Notes='', TopZ='NaN')))}

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

This replaces Model.__fields__ from Pydantic V1.

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_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]] = {}

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.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_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]] = {'bishop_bruteforce_reliability_results': FieldInfo(annotation=List[BishopBruteForceReliabilityResult], required=False, default=[]), 'bishop_bruteforce_results': FieldInfo(annotation=List[BishopBruteForceResult], required=False, default=[]), 'bishop_reliability_results': FieldInfo(annotation=List[BishopReliabilityResult], required=False, default=[]), 'bishop_results': FieldInfo(annotation=List[BishopResult], required=False, default=[]), 'calculationsettings': FieldInfo(annotation=List[CalculationSettings], required=False, default=[CalculationSettings(AnalysisType=<AnalysisTypeEnum.BISHOP_BRUTE_FORCE: 'BishopBruteForce'>, Bishop=PersistableBishopSettings(Circle=PersistableCircle(Center=PersistablePoint(X='NaN', Z='NaN'), Radius='NaN'), Label='', Notes=''), BishopBruteForce=PersistableBishopBruteForceSettings(GridEnhancements=PersistableGridEnhancements(ExtrapolateSearchSpace=True), SearchGrid=PersistableSearchGrid(BottomLeft=None, Label='', Notes='', NumberOfPointsInX=1, NumberOfPointsInZ=1, Space=1.0), SlipPlaneConstraints=PersistableSlipPlaneConstraints(IsSizeConstraintsEnabled=False, IsZoneAConstraintsEnabled=False, IsZoneBConstraintsEnabled=False, MinimumSlipPlaneDepth=0.0, MinimumSlipPlaneLength=0.0, WidthZoneA=0.0, WidthZoneB=0.0, XLeftZoneA=0.0, XLeftZoneB=0.0), TangentLines=PersistableTangentLines(BottomTangentLineZ='NaN', Label='', Notes='', NumberOfTangentLines=1, Space=0.5)), CalculationType=<CalculationTypeEnum.DETERMINISTIC: 'Deterministic'>, ContentVersion='2', Id='20', ModelFactorMean=1.05, ModelFactorStandardDeviation=0.033, Spencer=PersistableSpencerSettings(Label='', Notes='', SlipPlane=None, SlipPlaneConstraints=PersistableGeneticSlipPlaneConstraints(IsEnabled=False, MinimumAngleBetweenSlices=0.0, MinimumThrustLinePercentageInsideSlices=0.0)), SpencerGenetic=PersistableSpencerGeneticSettings(Label='', Notes='', OptionsType=<OptionsTypeEnum.DEFAULT: 'Default'>, SlipPlaneA=None, SlipPlaneB=None, SlipPlaneConstraints=PersistableGeneticSlipPlaneConstraints(IsEnabled=False, MinimumAngleBetweenSlices=0.0, MinimumThrustLinePercentageInsideSlices=0.0)), UpliftVan=PersistableUpliftVanSettings(Label='', Notes='', SlipPlane=PersistableTwoCirclesOnTangentLine(FirstCircleCenter=NullablePersistablePoint(X='NaN', Z='NaN'), FirstCircleRadius='NaN', SecondCircleCenter=NullablePersistablePoint(X='NaN', Z='NaN'))), UpliftVanParticleSwarm=PersistableUpliftVanParticleSwarmSettings(Label='', Notes='', OptionsType=<OptionsTypeEnum.DEFAULT: 'Default'>, SearchAreaA=PersistableSearchArea(Height=0.0, Label='', Notes='', TopLeft=None, Width=0.0), SearchAreaB=PersistableSearchArea(Height=0.0, Label='', Notes='', TopLeft=None, Width=0.0), SlipPlaneConstraints=PersistableSlipPlaneConstraints(IsSizeConstraintsEnabled=False, IsZoneAConstraintsEnabled=False, IsZoneBConstraintsEnabled=False, MinimumSlipPlaneDepth=0.0, MinimumSlipPlaneLength=0.0, WidthZoneA=0.0, WidthZoneB=0.0, XLeftZoneA=0.0, XLeftZoneB=0.0), TangentArea=PersistableTangentArea(Height=0.0, Label='', Notes='', TopZ='NaN')))]), 'decorations': FieldInfo(annotation=List[Decorations], required=False, default=[Decorations(Elevations=[], ContentVersion='2', Excavations=[], Id='12')]), 'geometries': FieldInfo(annotation=List[Geometry], required=False, default=[Geometry(ContentVersion='2', Id='11', Layers=[])]), 'loads': FieldInfo(annotation=List[Loads], required=False, default=[Loads(Id='18', ContentVersion='2', Earthquake=PersistableEarthquake(Consolidations=[], FreeWaterFactor=0.0, HorizontalFactor=0.0, IsEnabled=False, Label='', Notes='', VerticalFactor=0.0), LayerLoads=[], LineLoads=[], Trees=[], UniformLoads=[])]), 'nailproperties': FieldInfo(annotation=NailProperties, required=False, default=NailProperties(ContentVersion='2', NailPropertiesForSoils=[])), 'projectinfo': FieldInfo(annotation=ProjectInfo, required=False, default=ProjectInfo(Analyst='', ApplicationCreated='', ApplicationModified='', ContentVersion='2', Created=datetime.date(2024, 9, 10), CrossSection='', Date=datetime.date(2024, 9, 10), IsDataValidated=False, LastModified=datetime.date(2024, 9, 10), LastModifier='GEOLib', Path='', Project='', Remarks='Created with GEOLib 2.5.0')), 'reinforcements': FieldInfo(annotation=List[Reinforcements], required=False, default=[Reinforcements(Id='19', ContentVersion='2', ForbiddenLines=[], Geotextiles=[], Nails=[])]), 'scenarios': FieldInfo(annotation=List[Scenario], required=False, default=[Scenario(Stages=[Stage(DecorationsId='12', GeometryId='11', Id='43', Label='Stage 1', LoadsId='18', Notes='Default stage by GEOLib', ReinforcementsId='19', SoilLayersId='13', StateCorrelationsId='17', StateId='16', WaternetCreatorSettingsId='15', WaternetId='14')], Calculations=[PersistableCalculation(Id='42', Label='Calculation 1', Notes='Default calculation by GEOLib', ResultId=None, CalculationSettingsId='20')], ContentVersion='2', Id='0', Label='Scenario 1', Notes='Default Scenario by GEOLib')]), 'soilcorrelation': FieldInfo(annotation=SoilCorrelation, required=False, default=SoilCorrelation(ContentVersion='2', SoilCorrelations=[])), 'soillayers': FieldInfo(annotation=List[SoilLayerCollection], required=False, default=[SoilLayerCollection(ContentVersion='2', Id='13', SoilLayers=[])]), 'soils': FieldInfo(annotation=SoilCollection, required=False, default=SoilCollection(ContentVersion='2', Soils=[PersistableSoil(Code='H_Aa_ht_new', Id='2', IsProbabilistic=False, Name='Embankment new', Notes='', ShearStrengthModelTypeAbovePhreaticLevel=<ShearStrengthModelTypePhreaticLevelInternal.MOHR_COULOMB_ADVANCED: 'MohrCoulombAdvanced'>, ShearStrengthModelTypeBelowPhreaticLevel=<ShearStrengthModelTypePhreaticLevelInternal.SU: 'Su'>, MohrCoulombClassicShearStrengthModel=PersistableMohrCoulombClassicShearStrengthModel(Cohesion=0.0, CohesionAndFrictionAngleCorrelated=False, CohesionStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), FrictionAngle=0.0, FrictionAngleStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), MohrCoulombAdvancedShearStrengthModel=PersistableMohrCoulombAdvancedShearStrengthModel(Cohesion=7.0, CohesionAndFrictionAngleCorrelated=False, CohesionStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), Dilatancy=0.0, DilatancyStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), FrictionAngle=30.0, FrictionAngleStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), SuShearStrengthModel=PersistableSuShearStrengthModel(ShearStrengthRatio=0.26, ShearStrengthRatioAndShearStrengthExponentCorrelated=False, ShearStrengthRatioStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), StrengthIncreaseExponent=0.9, StrengthIncreaseExponentStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), VolumetricWeightAbovePhreaticLevel=19.3, VolumetricWeightBelowPhreaticLevel=19.3, SuTable=PersistableSuTable(StrengthIncreaseExponent=1.0, StrengthIncreaseExponentStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), SuTablePoints=[], IsSuTableProbabilistic=False, SuTableVariationCoefficient=0.0)), PersistableSoil(Code='H_Aa_ht_old', Id='3', IsProbabilistic=False, Name='Embankment old', Notes='', ShearStrengthModelTypeAbovePhreaticLevel=<ShearStrengthModelTypePhreaticLevelInternal.MOHR_COULOMB_ADVANCED: 'MohrCoulombAdvanced'>, ShearStrengthModelTypeBelowPhreaticLevel=<ShearStrengthModelTypePhreaticLevelInternal.SU: 'Su'>, MohrCoulombClassicShearStrengthModel=PersistableMohrCoulombClassicShearStrengthModel(Cohesion=0.0, CohesionAndFrictionAngleCorrelated=False, CohesionStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), FrictionAngle=0.0, FrictionAngleStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), MohrCoulombAdvancedShearStrengthModel=PersistableMohrCoulombAdvancedShearStrengthModel(Cohesion=7.0, CohesionAndFrictionAngleCorrelated=False, CohesionStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), Dilatancy=0.0, DilatancyStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), FrictionAngle=30.0, FrictionAngleStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), SuShearStrengthModel=PersistableSuShearStrengthModel(ShearStrengthRatio=0.26, ShearStrengthRatioAndShearStrengthExponentCorrelated=False, ShearStrengthRatioStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), StrengthIncreaseExponent=0.9, StrengthIncreaseExponentStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), VolumetricWeightAbovePhreaticLevel=18.0, VolumetricWeightBelowPhreaticLevel=18.0, SuTable=PersistableSuTable(StrengthIncreaseExponent=1.0, StrengthIncreaseExponentStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), SuTablePoints=[], IsSuTableProbabilistic=False, SuTableVariationCoefficient=0.0)), PersistableSoil(Code='H_Rk_k_shallow', Id='4', IsProbabilistic=False, Name='Clay, shallow', Notes='', ShearStrengthModelTypeAbovePhreaticLevel=<ShearStrengthModelTypePhreaticLevelInternal.SU: 'Su'>, ShearStrengthModelTypeBelowPhreaticLevel=<ShearStrengthModelTypePhreaticLevelInternal.SU: 'Su'>, MohrCoulombClassicShearStrengthModel=PersistableMohrCoulombClassicShearStrengthModel(Cohesion=0.0, CohesionAndFrictionAngleCorrelated=False, CohesionStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), FrictionAngle=0.0, FrictionAngleStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), MohrCoulombAdvancedShearStrengthModel=PersistableMohrCoulombAdvancedShearStrengthModel(Cohesion=0.0, CohesionAndFrictionAngleCorrelated=False, CohesionStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), Dilatancy=0.0, DilatancyStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), FrictionAngle=0.0, FrictionAngleStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), SuShearStrengthModel=PersistableSuShearStrengthModel(ShearStrengthRatio=0.23, ShearStrengthRatioAndShearStrengthExponentCorrelated=False, ShearStrengthRatioStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), StrengthIncreaseExponent=0.9, StrengthIncreaseExponentStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), VolumetricWeightAbovePhreaticLevel=14.8, VolumetricWeightBelowPhreaticLevel=14.8, SuTable=PersistableSuTable(StrengthIncreaseExponent=1.0, StrengthIncreaseExponentStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), SuTablePoints=[], IsSuTableProbabilistic=False, SuTableVariationCoefficient=0.0)), PersistableSoil(Code='H_Rk_k_deep', Id='5', IsProbabilistic=False, Name='Clay, deep', Notes='', ShearStrengthModelTypeAbovePhreaticLevel=<ShearStrengthModelTypePhreaticLevelInternal.SU: 'Su'>, ShearStrengthModelTypeBelowPhreaticLevel=<ShearStrengthModelTypePhreaticLevelInternal.SU: 'Su'>, MohrCoulombClassicShearStrengthModel=PersistableMohrCoulombClassicShearStrengthModel(Cohesion=0.0, CohesionAndFrictionAngleCorrelated=False, CohesionStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), FrictionAngle=0.0, FrictionAngleStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), MohrCoulombAdvancedShearStrengthModel=PersistableMohrCoulombAdvancedShearStrengthModel(Cohesion=0.0, CohesionAndFrictionAngleCorrelated=False, CohesionStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), Dilatancy=0.0, DilatancyStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), FrictionAngle=0.0, FrictionAngleStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), SuShearStrengthModel=PersistableSuShearStrengthModel(ShearStrengthRatio=0.23, ShearStrengthRatioAndShearStrengthExponentCorrelated=False, ShearStrengthRatioStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), StrengthIncreaseExponent=0.9, StrengthIncreaseExponentStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), VolumetricWeightAbovePhreaticLevel=15.6, VolumetricWeightBelowPhreaticLevel=15.6, SuTable=PersistableSuTable(StrengthIncreaseExponent=1.0, StrengthIncreaseExponentStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), SuTablePoints=[], IsSuTableProbabilistic=False, SuTableVariationCoefficient=0.0)), PersistableSoil(Code='H_Rk_ko', Id='6', IsProbabilistic=False, Name='Organic clay', Notes='', ShearStrengthModelTypeAbovePhreaticLevel=<ShearStrengthModelTypePhreaticLevelInternal.SU: 'Su'>, ShearStrengthModelTypeBelowPhreaticLevel=<ShearStrengthModelTypePhreaticLevelInternal.SU: 'Su'>, MohrCoulombClassicShearStrengthModel=PersistableMohrCoulombClassicShearStrengthModel(Cohesion=0.0, CohesionAndFrictionAngleCorrelated=False, CohesionStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), FrictionAngle=0.0, FrictionAngleStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), MohrCoulombAdvancedShearStrengthModel=PersistableMohrCoulombAdvancedShearStrengthModel(Cohesion=0.0, CohesionAndFrictionAngleCorrelated=False, CohesionStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), Dilatancy=0.0, DilatancyStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), FrictionAngle=0.0, FrictionAngleStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), SuShearStrengthModel=PersistableSuShearStrengthModel(ShearStrengthRatio=0.24, ShearStrengthRatioAndShearStrengthExponentCorrelated=False, ShearStrengthRatioStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), StrengthIncreaseExponent=0.85, StrengthIncreaseExponentStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), VolumetricWeightAbovePhreaticLevel=13.9, VolumetricWeightBelowPhreaticLevel=13.9, SuTable=PersistableSuTable(StrengthIncreaseExponent=1.0, StrengthIncreaseExponentStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), SuTablePoints=[], IsSuTableProbabilistic=False, SuTableVariationCoefficient=0.0)), PersistableSoil(Code='H_vhv_v', Id='7', IsProbabilistic=False, Name='Peat, shallow', Notes='', ShearStrengthModelTypeAbovePhreaticLevel=<ShearStrengthModelTypePhreaticLevelInternal.SU: 'Su'>, ShearStrengthModelTypeBelowPhreaticLevel=<ShearStrengthModelTypePhreaticLevelInternal.SU: 'Su'>, MohrCoulombClassicShearStrengthModel=PersistableMohrCoulombClassicShearStrengthModel(Cohesion=0.0, CohesionAndFrictionAngleCorrelated=False, CohesionStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), FrictionAngle=0.0, FrictionAngleStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), MohrCoulombAdvancedShearStrengthModel=PersistableMohrCoulombAdvancedShearStrengthModel(Cohesion=0.0, CohesionAndFrictionAngleCorrelated=False, CohesionStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), Dilatancy=0.0, DilatancyStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), FrictionAngle=0.0, FrictionAngleStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), SuShearStrengthModel=PersistableSuShearStrengthModel(ShearStrengthRatio=0.3, ShearStrengthRatioAndShearStrengthExponentCorrelated=False, ShearStrengthRatioStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), StrengthIncreaseExponent=0.9, StrengthIncreaseExponentStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), VolumetricWeightAbovePhreaticLevel=10.1, VolumetricWeightBelowPhreaticLevel=10.1, SuTable=PersistableSuTable(StrengthIncreaseExponent=1.0, StrengthIncreaseExponentStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), SuTablePoints=[], IsSuTableProbabilistic=False, SuTableVariationCoefficient=0.0)), PersistableSoil(Code='H_vbv_v', Id='8', IsProbabilistic=False, Name='Peat, deep', Notes='', ShearStrengthModelTypeAbovePhreaticLevel=<ShearStrengthModelTypePhreaticLevelInternal.SU: 'Su'>, ShearStrengthModelTypeBelowPhreaticLevel=<ShearStrengthModelTypePhreaticLevelInternal.SU: 'Su'>, MohrCoulombClassicShearStrengthModel=PersistableMohrCoulombClassicShearStrengthModel(Cohesion=0.0, CohesionAndFrictionAngleCorrelated=False, CohesionStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), FrictionAngle=0.0, FrictionAngleStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), MohrCoulombAdvancedShearStrengthModel=PersistableMohrCoulombAdvancedShearStrengthModel(Cohesion=0.0, CohesionAndFrictionAngleCorrelated=False, CohesionStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), Dilatancy=0.0, DilatancyStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), FrictionAngle=0.0, FrictionAngleStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), SuShearStrengthModel=PersistableSuShearStrengthModel(ShearStrengthRatio=0.27, ShearStrengthRatioAndShearStrengthExponentCorrelated=False, ShearStrengthRatioStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), StrengthIncreaseExponent=0.9, StrengthIncreaseExponentStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), VolumetricWeightAbovePhreaticLevel=11.0, VolumetricWeightBelowPhreaticLevel=11.0, SuTable=PersistableSuTable(StrengthIncreaseExponent=1.0, StrengthIncreaseExponentStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), SuTablePoints=[], IsSuTableProbabilistic=False, SuTableVariationCoefficient=0.0)), PersistableSoil(Code='Sand', Id='9', IsProbabilistic=False, Name='Sand', Notes='', ShearStrengthModelTypeAbovePhreaticLevel=<ShearStrengthModelTypePhreaticLevelInternal.MOHR_COULOMB_ADVANCED: 'MohrCoulombAdvanced'>, ShearStrengthModelTypeBelowPhreaticLevel=<ShearStrengthModelTypePhreaticLevelInternal.MOHR_COULOMB_ADVANCED: 'MohrCoulombAdvanced'>, MohrCoulombClassicShearStrengthModel=PersistableMohrCoulombClassicShearStrengthModel(Cohesion=0.0, CohesionAndFrictionAngleCorrelated=False, CohesionStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), FrictionAngle=0.0, FrictionAngleStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), MohrCoulombAdvancedShearStrengthModel=PersistableMohrCoulombAdvancedShearStrengthModel(Cohesion=0.0, CohesionAndFrictionAngleCorrelated=False, CohesionStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), Dilatancy=0.0, DilatancyStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), FrictionAngle=30.0, FrictionAngleStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), SuShearStrengthModel=PersistableSuShearStrengthModel(ShearStrengthRatio=0.0, ShearStrengthRatioAndShearStrengthExponentCorrelated=False, ShearStrengthRatioStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), StrengthIncreaseExponent=1.0, StrengthIncreaseExponentStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), VolumetricWeightAbovePhreaticLevel=18.0, VolumetricWeightBelowPhreaticLevel=20.0, SuTable=PersistableSuTable(StrengthIncreaseExponent=1.0, StrengthIncreaseExponentStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), SuTablePoints=[], IsSuTableProbabilistic=False, SuTableVariationCoefficient=0.0)), PersistableSoil(Code='P_Rk_k&s', Id='10', IsProbabilistic=False, Name='Clay with silt', Notes='', ShearStrengthModelTypeAbovePhreaticLevel=<ShearStrengthModelTypePhreaticLevelInternal.SU: 'Su'>, ShearStrengthModelTypeBelowPhreaticLevel=<ShearStrengthModelTypePhreaticLevelInternal.SU: 'Su'>, MohrCoulombClassicShearStrengthModel=PersistableMohrCoulombClassicShearStrengthModel(Cohesion=0.0, CohesionAndFrictionAngleCorrelated=False, CohesionStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), FrictionAngle=0.0, FrictionAngleStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), MohrCoulombAdvancedShearStrengthModel=PersistableMohrCoulombAdvancedShearStrengthModel(Cohesion=0.0, CohesionAndFrictionAngleCorrelated=False, CohesionStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), Dilatancy=0.0, DilatancyStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), FrictionAngle=0.0, FrictionAngleStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), SuShearStrengthModel=PersistableSuShearStrengthModel(ShearStrengthRatio=0.22, ShearStrengthRatioAndShearStrengthExponentCorrelated=False, ShearStrengthRatioStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), StrengthIncreaseExponent=0.9, StrengthIncreaseExponentStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), VolumetricWeightAbovePhreaticLevel=18.0, VolumetricWeightBelowPhreaticLevel=18.0, SuTable=PersistableSuTable(StrengthIncreaseExponent=1.0, StrengthIncreaseExponentStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), SuTablePoints=[], IsSuTableProbabilistic=False, SuTableVariationCoefficient=0.0)), PersistableSoil(Code='H_Ro_z&k', Id='11', IsProbabilistic=False, Name='Sand with clay', Notes='', ShearStrengthModelTypeAbovePhreaticLevel=<ShearStrengthModelTypePhreaticLevelInternal.SU: 'Su'>, ShearStrengthModelTypeBelowPhreaticLevel=<ShearStrengthModelTypePhreaticLevelInternal.SU: 'Su'>, MohrCoulombClassicShearStrengthModel=PersistableMohrCoulombClassicShearStrengthModel(Cohesion=0.0, CohesionAndFrictionAngleCorrelated=False, CohesionStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), FrictionAngle=0.0, FrictionAngleStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), MohrCoulombAdvancedShearStrengthModel=PersistableMohrCoulombAdvancedShearStrengthModel(Cohesion=0.0, CohesionAndFrictionAngleCorrelated=False, CohesionStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), Dilatancy=0.0, DilatancyStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), FrictionAngle=0.0, FrictionAngleStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), SuShearStrengthModel=PersistableSuShearStrengthModel(ShearStrengthRatio=0.22, ShearStrengthRatioAndShearStrengthExponentCorrelated=False, ShearStrengthRatioStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), StrengthIncreaseExponent=0.9, StrengthIncreaseExponentStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), VolumetricWeightAbovePhreaticLevel=18.0, VolumetricWeightBelowPhreaticLevel=18.0, SuTable=PersistableSuTable(StrengthIncreaseExponent=1.0, StrengthIncreaseExponentStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), SuTablePoints=[], IsSuTableProbabilistic=False, SuTableVariationCoefficient=0.0))])), 'soilvisualizations': FieldInfo(annotation=SoilVisualisation, required=False, default=SoilVisualisation(ContentVersion='2', SoilVisualizations=[])), 'spencer_genetic_algorithm_reliability_results': FieldInfo(annotation=List[SpencerGeneticAlgorithmReliabilityResult], required=False, default=[]), 'spencer_genetic_algorithm_results': FieldInfo(annotation=List[SpencerGeneticAlgorithmResult], required=False, default=[]), 'spencer_reliability_results': FieldInfo(annotation=List[SpencerReliabilityResult], required=False, default=[]), 'spencer_results': FieldInfo(annotation=List[SpencerResult], required=False, default=[]), 'statecorrelations': FieldInfo(annotation=List[StateCorrelation], required=False, default=[StateCorrelation(ContentVersion='2', Id='17', StateCorrelations=[])]), 'states': FieldInfo(annotation=List[State], required=False, default=[State(ContentVersion='2', Id='16', StateLines=[], StatePoints=[])]), 'uplift_van_particle_swarm_reliability_results': FieldInfo(annotation=List[UpliftVanParticleSwarmReliabilityResult], required=False, default=[]), 'uplift_van_particle_swarm_results': FieldInfo(annotation=List[UpliftVanParticleSwarmResult], required=False, default=[]), 'uplift_van_reliability_results': FieldInfo(annotation=List[UpliftVanReliabilityResult], required=False, default=[]), 'uplift_van_results': FieldInfo(annotation=List[UpliftVanResult], required=False, default=[]), 'waternetcreatorsettings': FieldInfo(annotation=List[WaternetCreatorSettings], required=False, default=[WaternetCreatorSettings(AdjustForUplift=False, AquiferInsideAquitardLayerId=None, AquiferLayerId=None, AquiferLayerInsideAquitardLeakageLengthInwards='NaN', AquiferLayerInsideAquitardLeakageLengthOutwards='NaN', AquitardHeadLandSide='NaN', AquitardHeadWaterSide='NaN', ContentVersion='2', DitchCharacteristics=PersistableDitchCharacteristics(DitchBottomEmbankmentSide='NaN', DitchBottomLandSide='NaN', DitchEmbankmentSide='NaN', DitchLandSide='NaN'), DrainageConstruction=PersistablePoint(X='NaN', Z='NaN'), EmbankmentCharacteristics=PersistableEmbankmentCharacteristics(EmbankmentToeLandSide='NaN', EmbankmentToeWaterSide='NaN', EmbankmentTopLandSide='NaN', EmbankmentTopWaterSide='NaN', ShoulderBaseLandSide='NaN'), EmbankmentSoilScenario=<EmbankmentSoilScenarioEnum.CLAY_EMBANKMENT_ON_CLAY: 'ClayEmbankmentOnClay'>, Id='15', InitialLevelEmbankmentTopLandSide='NaN', InitialLevelEmbankmentTopWaterSide='NaN', IntrusionLength='NaN', IsAquiferLayerInsideAquitard=False, IsDitchPresent=False, IsDrainageConstructionPresent=False, MeanWaterLevel='NaN', NormativeWaterLevel='NaN', OffsetEmbankmentToeLandSide='NaN', OffsetEmbankmentTopLandSide='NaN', OffsetEmbankmentTopWaterSide='NaN', OffsetShoulderBaseLandSide='NaN', PleistoceneLeakageLengthInwards='NaN', PleistoceneLeakageLengthOutwards='NaN', UseDefaultOffsets=True, WaterLevelHinterland='NaN')]), 'waternets': FieldInfo(annotation=List[Waternet], required=False, default=[Waternet(Id='14', ContentVersion='2', PhreaticLineId=None, HeadLines=[], ReferenceLines=[], UnitWeightWater=9.81)])}

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

This replaces Model.__fields__ from Pydantic V1.

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_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]] = {}

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

This replaces Model.__fields__ from Pydantic V1.

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_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]] = {'ContentVersion': FieldInfo(annotation=Union[str, NoneType], required=False, default='2'), 'Elevations': FieldInfo(annotation=Union[List[Union[PersistableElevation, NoneType]], NoneType], required=False, default=[]), 'Excavations': FieldInfo(annotation=Union[List[Union[PersistableExcavation, NoneType]], NoneType], required=False, default=[]), 'Id': 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.

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_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]] = {'mapping': FieldInfo(annotation=Dict[str, Tuple[str, ...]], required=False, default={'Waternet.Id': ('Stage.WaternetId',), 'PersistableHeadLine.Id': ('PersistableReferenceLine.BottomHeadLineId', 'PersistableReferenceLine.TopHeadLineId'), 'PersistableReferenceLine.Id': ('Waternet.PhreaticLineId',), 'PersistableLayer.Id': ('PersistableStatePoint.LayerId', 'PersistableSoilLayer.LayerId', 'PersistableConsolidation.LayerId', 'PersistableLayerLoad.LayerId', 'PersistableElevation.AddedLayerId', 'WaternetCreatorSettings.AquiferInsideAquitardLayerId', 'WaternetCreatorSettings.AquiferLayerId'), 'CalculationSettings.Id': ('Calculation.CalculationSettingsId',), 'Decorations.Id': ('Stage.DecorationsId',), 'Geometry.Id': ('Stage.GeometryId',), 'Loads.Id': ('Stage.LoadsId',), 'Reinforcements.Id': ('Stage.ReinforcementsId',), 'Result.Id': ('Calculation.ResultId',), 'SoilLayerCollection.Id': ('Stage.SoilLayersId',), 'StateCorrelation.Id': ('Stage.StateCorrelationsId',), 'State.Id': ('Stage.StateId',), 'WaternetCreatorSettings.Id': ('Stage.WaternetCreatorSettingsId',), 'Calculation.Id': ('PersistableCalculationContribution.CalculationId',), 'PersistableStateLinePoint.Id': ('PersistableStateCorrelation.CorrelatedStateIds', 'PersistableStateLinePointContribution.StateLinePointId'), 'PersistableStatePoint.Id': ('PersistableStatePointContribution.StatePointId',)})}

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.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_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]] = {'ContentVersion': FieldInfo(annotation=Union[str, NoneType], required=False, default='2'), 'Id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'Layers': FieldInfo(annotation=List[PersistableLayer], required=False, default=[])}

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

This replaces Model.__fields__ from Pydantic V1.

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_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]] = {'ContentVersion': FieldInfo(annotation=Union[str, NoneType], required=False, default='2'), 'Earthquake': FieldInfo(annotation=Union[PersistableEarthquake, NoneType], required=False, default=PersistableEarthquake(Consolidations=[], FreeWaterFactor=0.0, HorizontalFactor=0.0, IsEnabled=False, Label='', Notes='', VerticalFactor=0.0)), 'Id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'LayerLoads': FieldInfo(annotation=Union[List[Union[PersistableLayerLoad, NoneType]], NoneType], required=False, default=[]), 'LineLoads': FieldInfo(annotation=Union[List[Union[PersistableLineLoad, NoneType]], NoneType], required=False, default=[]), 'Trees': FieldInfo(annotation=Union[List[Union[PersistableTree, NoneType]], NoneType], required=False, default=[]), 'UniformLoads': FieldInfo(annotation=Union[List[Union[PersistableUniformLoad, NoneType]], NoneType], required=False, default=[])}

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

This replaces Model.__fields__ from Pydantic V1.

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_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]] = {'ContentVersion': FieldInfo(annotation=Union[str, NoneType], required=False, default='2'), 'NailPropertiesForSoils': FieldInfo(annotation=Union[List[Union[PersistableNailPropertiesForSoil, NoneType]], NoneType], required=False, default=[])}

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

This replaces Model.__fields__ from Pydantic V1.

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_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]] = {'X': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'Z': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN')}

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

This replaces Model.__fields__ from Pydantic V1.

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_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]] = {'GridEnhancements': FieldInfo(annotation=Union[PersistableGridEnhancements, NoneType], required=False, default=PersistableGridEnhancements(ExtrapolateSearchSpace=True)), 'SearchGrid': FieldInfo(annotation=Union[PersistableSearchGrid, NoneType], required=False, default=PersistableSearchGrid(BottomLeft=None, Label='', Notes='', NumberOfPointsInX=1, NumberOfPointsInZ=1, Space=1.0)), 'SlipPlaneConstraints': FieldInfo(annotation=Union[PersistableSlipPlaneConstraints, NoneType], required=False, default=PersistableSlipPlaneConstraints(IsSizeConstraintsEnabled=False, IsZoneAConstraintsEnabled=False, IsZoneBConstraintsEnabled=False, MinimumSlipPlaneDepth=0.0, MinimumSlipPlaneLength=0.0, WidthZoneA=0.0, WidthZoneB=0.0, XLeftZoneA=0.0, XLeftZoneB=0.0)), 'TangentLines': FieldInfo(annotation=Union[PersistableTangentLines, NoneType], required=False, default=PersistableTangentLines(BottomTangentLineZ='NaN', Label='', Notes='', NumberOfTangentLines=1, Space=0.5))}

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.internal.PersistableBishopSettings(**data)
Parameters:

data (Any)

Circle: Optional[PersistableCircle]
Label: Optional[str]
Notes: 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]] = {'Circle': FieldInfo(annotation=Union[PersistableCircle, NoneType], required=False, default=PersistableCircle(Center=PersistablePoint(X='NaN', Z='NaN'), Radius='NaN')), 'Label': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'Notes': FieldInfo(annotation=Union[str, NoneType], required=False, default='')}

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.internal.PersistableBondStress(**data)
Parameters:

data (Any)

Sigma: Union[float, str, None]
Tau: Union[float, str, None]
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]] = {'Sigma': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'Tau': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN')}

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.internal.PersistableCalculation(**data)
Parameters:

data (Any)

CalculationSettingsId: Optional[str]
Id: Optional[str]
Label: Optional[str]
Notes: Optional[str]
ResultId: 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]] = {'CalculationSettingsId': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'Id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'Label': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'Notes': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'ResultId': 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.

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_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]] = {'Alpha': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'CalculationId': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'Property': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'UncorrelatedAlpha': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'Value': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN')}

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

This replaces Model.__fields__ from Pydantic V1.

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_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]] = {'Center': FieldInfo(annotation=Union[PersistablePoint, NoneType], required=False, default=PersistablePoint(X='NaN', Z='NaN')), 'Radius': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN')}

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.internal.PersistableConsolidation(**data)
Parameters:

data (Any)

Degree: Union[float, str, None]
LayerId: 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]] = {'Degree': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'LayerId': 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.

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_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]] = {'DitchBottomEmbankmentSide': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'DitchBottomLandSide': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'DitchEmbankmentSide': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'DitchLandSide': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN')}

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.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_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]] = {'Consolidations': FieldInfo(annotation=Union[List[Union[PersistableConsolidation, NoneType]], NoneType], required=False, default=[]), 'FreeWaterFactor': FieldInfo(annotation=Union[float, NoneType], required=False, default=0.0), 'HorizontalFactor': FieldInfo(annotation=Union[float, NoneType], required=False, default=0.0), 'IsEnabled': FieldInfo(annotation=Union[bool, NoneType], required=False, default=False), 'Label': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'Notes': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'VerticalFactor': FieldInfo(annotation=Union[float, NoneType], required=False, default=0.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.

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_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]] = {'AddedLayerId': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'Label': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'Notes': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'Points': FieldInfo(annotation=Union[List[Union[PersistablePoint, NoneType]], 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.

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_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]] = {'EmbankmentToeLandSide': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'EmbankmentToeWaterSide': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'EmbankmentTopLandSide': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'EmbankmentTopWaterSide': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'ShoulderBaseLandSide': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN')}

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.internal.PersistableExcavation(**data)
Parameters:

data (Any)

Label: Optional[str]
Notes: Optional[str]
Points: Optional[List[Optional[PersistablePoint]]]
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=''), 'Notes': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'Points': FieldInfo(annotation=Union[List[Union[PersistablePoint, NoneType]], 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.internal.PersistableForbiddenLine(**data)
Parameters:

data (Any)

End: Optional[PersistablePoint]
Label: Optional[str]
Notes: Optional[str]
Start: Optional[PersistablePoint]
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=Union[PersistablePoint, NoneType], required=False, default=None), 'Label': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'Notes': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'Start': FieldInfo(annotation=Union[PersistablePoint, 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.internal.PersistableGeneticSlipPlaneConstraints(**data)
Parameters:

data (Any)

IsEnabled: Optional[bool]
MinimumAngleBetweenSlices: Optional[float]
MinimumThrustLinePercentageInsideSlices: Optional[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]] = {'IsEnabled': FieldInfo(annotation=Union[bool, NoneType], required=False, default=False), 'MinimumAngleBetweenSlices': FieldInfo(annotation=Union[float, NoneType], required=False, default=0.0), 'MinimumThrustLinePercentageInsideSlices': FieldInfo(annotation=Union[float, NoneType], required=False, default=0.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.

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_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=Union[PersistablePoint, NoneType], required=False, default=None), 'Label': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'Notes': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'ReductionArea': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'Start': FieldInfo(annotation=Union[PersistablePoint, NoneType], required=False, default=None), 'TensileStrength': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN')}

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.internal.PersistableGridEnhancements(**data)
Parameters:

data (Any)

ExtrapolateSearchSpace: Optional[bool]
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]] = {'ExtrapolateSearchSpace': FieldInfo(annotation=Union[bool, NoneType], required=False, default=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.

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_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]] = {'Id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'Label': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'Notes': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'Points': FieldInfo(annotation=Union[List[Union[PersistablePoint, NoneType]], 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.

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_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]] = {'Id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'Label': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'Notes': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'Points': FieldInfo(annotation=List[PersistablePoint], required=True, metadata=[MinLen(min_length=3)])}

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

This replaces Model.__fields__ from Pydantic V1.

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_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]] = {'Consolidations': FieldInfo(annotation=Union[List[Union[PersistableConsolidation, NoneType]], NoneType], required=False, default=[]), 'LayerId': 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.

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_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=Union[float, str, NoneType], required=False, default='NaN'), 'Consolidations': FieldInfo(annotation=Union[List[Union[PersistableConsolidation, NoneType]], NoneType], required=False, default=[]), 'Label': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'Location': FieldInfo(annotation=Union[PersistablePoint, NoneType], required=False, default=None), 'Magnitude': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'Notes': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'Spread': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN')}

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.internal.PersistableMohrCoulombAdvancedShearStrengthModel(**data)
Parameters:

data (Any)

Cohesion: Optional[float]
CohesionAndFrictionAngleCorrelated: bool
CohesionStochasticParameter: PersistableStochasticParameter
Dilatancy: Optional[float]
DilatancyStochasticParameter: PersistableStochasticParameter
FrictionAngle: Optional[float]
FrictionAngleStochasticParameter: PersistableStochasticParameter
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]] = {'Cohesion': FieldInfo(annotation=Union[float, NoneType], required=False, default=0.0), 'CohesionAndFrictionAngleCorrelated': FieldInfo(annotation=bool, required=False, default=False), 'CohesionStochasticParameter': FieldInfo(annotation=PersistableStochasticParameter, required=False, default=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), 'Dilatancy': FieldInfo(annotation=Union[float, NoneType], required=False, default=0.0), 'DilatancyStochasticParameter': FieldInfo(annotation=PersistableStochasticParameter, required=False, default=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), 'FrictionAngle': FieldInfo(annotation=Union[float, NoneType], required=False, default=0.0), 'FrictionAngleStochasticParameter': FieldInfo(annotation=PersistableStochasticParameter, required=False, default=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.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.

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

data (Any)

Cohesion: Optional[float]
CohesionAndFrictionAngleCorrelated: bool
CohesionStochasticParameter: PersistableStochasticParameter
FrictionAngle: Optional[float]
FrictionAngleStochasticParameter: PersistableStochasticParameter
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]] = {'Cohesion': FieldInfo(annotation=Union[float, NoneType], required=False, default=0.0), 'CohesionAndFrictionAngleCorrelated': FieldInfo(annotation=bool, required=False, default=False), 'CohesionStochasticParameter': FieldInfo(annotation=PersistableStochasticParameter, required=False, default=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), 'FrictionAngle': FieldInfo(annotation=Union[float, NoneType], required=False, default=0.0), 'FrictionAngleStochasticParameter': FieldInfo(annotation=PersistableStochasticParameter, required=False, default=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.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.

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_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]] = {'BendingStiffness': FieldInfo(annotation=Union[float, NoneType], required=False, default=0.0), 'CriticalAngle': FieldInfo(annotation=Union[float, NoneType], required=False, default=0.0), 'Diameter': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'Direction': FieldInfo(annotation=Union[float, NoneType], required=False, default=0.0), 'GroutDiameter': FieldInfo(annotation=Union[float, NoneType], required=False, default=0.0), 'HorizontalSpacing': FieldInfo(annotation=Union[float, NoneType], required=False, default=0.0), 'Label': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'LateralStresses': FieldInfo(annotation=Union[List[Union[PersistableStressAtDistance, NoneType]], NoneType], required=False, default=[]), 'Length': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'Location': FieldInfo(annotation=Union[PersistablePoint, NoneType], required=False, default=None), 'MaxPullForce': FieldInfo(annotation=Union[float, NoneType], required=False, default=0.0), 'Notes': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'PlasticMoment': FieldInfo(annotation=Union[float, NoneType], required=False, default=0.0), 'ShearStresses': FieldInfo(annotation=Union[List[Union[PersistableStressAtDistance, NoneType]], NoneType], required=False, default=[]), 'UseFacing': FieldInfo(annotation=Union[bool, NoneType], required=False, default=False), 'UseLateralStress': FieldInfo(annotation=Union[bool, NoneType], required=False, default=False), 'UseShearStress': FieldInfo(annotation=Union[bool, NoneType], 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.

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_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]] = {'AreBondStressesActive': FieldInfo(annotation=Union[bool, NoneType], required=False, default=False), 'BondStresses': FieldInfo(annotation=Union[List[Union[PersistableBondStress, NoneType]], NoneType], required=False, default=[]), 'CompressionRatio': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'RheologicalCoefficient': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'SoilId': 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.

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_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]] = {'X': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'Z': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN')}

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.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_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]] = {'BottomHeadLineId': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'Id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'Label': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'Notes': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'Points': FieldInfo(annotation=Union[List[Union[PersistablePoint, NoneType]], NoneType], required=False, default=None), 'TopHeadLineId': 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.

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_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]] = {'Height': FieldInfo(annotation=Union[float, NoneType], required=False, default=0.0), 'Label': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'Notes': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'TopLeft': FieldInfo(annotation=Union[NullablePersistablePoint, NoneType], required=False, default=None), 'Width': FieldInfo(annotation=Union[float, NoneType], required=False, default=0.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.

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_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]] = {'BottomLeft': FieldInfo(annotation=Union[NullablePersistablePoint, NoneType], required=False, default=None), 'Label': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'Notes': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'NumberOfPointsInX': FieldInfo(annotation=Union[int, NoneType], required=False, default=1), 'NumberOfPointsInZ': FieldInfo(annotation=Union[int, NoneType], required=False, default=1), 'Space': FieldInfo(annotation=Union[float, NoneType], required=False, default=1.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.

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_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]] = {'ArcLength': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'BottomAngle': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'BottomLeft': FieldInfo(annotation=Union[PersistablePoint, NoneType], required=False, default=None), 'BottomRight': FieldInfo(annotation=Union[PersistablePoint, NoneType], required=False, default=None), 'CohesionInput': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'CohesionOutput': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'DegreeOfConsolidationLoadPorePressure': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'DegreeOfConsolidationPorePressure': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'DilatancyInput': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'DilatancyOutput': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'EffectiveStress': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'HorizontalPorePressure': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'HorizontalSoilQuakeStress': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'HydrostaticPorePressure': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'Label': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'LoadStress': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'MInput': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'NormalStress': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'Ocr': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'PhiInput': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'PhiOutput': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'PiezometricPorePressure': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'Pop': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'SInput': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'ShearStrengthModelType': FieldInfo(annotation=Union[ShearStrengthModelTypePhreaticLevelInternal, NoneType], required=False, default=None), 'ShearStress': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'SuOutput': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'SurfacePorePressure': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'TopAngle': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'TopLeft': FieldInfo(annotation=Union[PersistablePoint, NoneType], required=False, default=None), 'TopRight': FieldInfo(annotation=Union[PersistablePoint, NoneType], required=False, default=None), 'TotalPorePressure': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'TotalStress': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'UpliftFactor': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'VerticalPorePressure': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'VerticalSoilQuakeStress': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'WaterQuakeStress': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'Weight': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'Width': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'YieldStress': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN')}

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.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_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]] = {'IsSizeConstraintsEnabled': FieldInfo(annotation=Union[bool, NoneType], required=False, default=False), 'IsZoneAConstraintsEnabled': FieldInfo(annotation=Union[bool, NoneType], required=False, default=False), 'IsZoneBConstraintsEnabled': FieldInfo(annotation=Union[bool, NoneType], required=False, default=False), 'MinimumSlipPlaneDepth': FieldInfo(annotation=Union[float, NoneType], required=False, default=0.0), 'MinimumSlipPlaneLength': FieldInfo(annotation=Union[float, NoneType], required=False, default=0.0), 'WidthZoneA': FieldInfo(annotation=Union[float, NoneType], required=False, default=0.0), 'WidthZoneB': FieldInfo(annotation=Union[float, NoneType], required=False, default=0.0), 'XLeftZoneA': FieldInfo(annotation=Union[float, NoneType], required=False, default=0.0), 'XLeftZoneB': FieldInfo(annotation=Union[float, NoneType], required=False, default=0.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.

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_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]] = {'Code': FieldInfo(annotation=str, required=False, default=''), 'Id': FieldInfo(annotation=str, required=False, default=''), 'IsProbabilistic': FieldInfo(annotation=bool, required=False, default=False), 'MohrCoulombAdvancedShearStrengthModel': FieldInfo(annotation=PersistableMohrCoulombAdvancedShearStrengthModel, required=False, default=PersistableMohrCoulombAdvancedShearStrengthModel(Cohesion=0.0, CohesionAndFrictionAngleCorrelated=False, CohesionStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), Dilatancy=0.0, DilatancyStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), FrictionAngle=0.0, FrictionAngleStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0))), 'MohrCoulombClassicShearStrengthModel': FieldInfo(annotation=PersistableMohrCoulombClassicShearStrengthModel, required=False, default=PersistableMohrCoulombClassicShearStrengthModel(Cohesion=0.0, CohesionAndFrictionAngleCorrelated=False, CohesionStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), FrictionAngle=0.0, FrictionAngleStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0))), 'Name': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'Notes': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'ShearStrengthModelTypeAbovePhreaticLevel': FieldInfo(annotation=ShearStrengthModelTypePhreaticLevelInternal, required=False, default=<ShearStrengthModelTypePhreaticLevelInternal.MOHR_COULOMB_ADVANCED: 'MohrCoulombAdvanced'>), 'ShearStrengthModelTypeBelowPhreaticLevel': FieldInfo(annotation=ShearStrengthModelTypePhreaticLevelInternal, required=False, default=<ShearStrengthModelTypePhreaticLevelInternal.SU: 'Su'>), 'SuShearStrengthModel': FieldInfo(annotation=PersistableSuShearStrengthModel, required=False, default=PersistableSuShearStrengthModel(ShearStrengthRatio=0.0, ShearStrengthRatioAndShearStrengthExponentCorrelated=False, ShearStrengthRatioStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), StrengthIncreaseExponent=1.0, StrengthIncreaseExponentStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0))), 'SuTable': FieldInfo(annotation=PersistableSuTable, required=False, default=PersistableSuTable(StrengthIncreaseExponent=1.0, StrengthIncreaseExponentStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), SuTablePoints=[], IsSuTableProbabilistic=False, SuTableVariationCoefficient=0.0)), 'VolumetricWeightAbovePhreaticLevel': FieldInfo(annotation=float, required=False, default=0.0), 'VolumetricWeightBelowPhreaticLevel': FieldInfo(annotation=float, required=False, default=0.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.

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_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]] = {'Alpha': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'Property': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'SoilId': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'UncorrelatedAlpha': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'Value': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN')}

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

This replaces Model.__fields__ from Pydantic V1.

classmethod transform_id_to_str(value)
Return type:

str

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

data (Any)

CorrelatedSoilIds: Optional[List[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]] = {'CorrelatedSoilIds': FieldInfo(annotation=Union[List[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.

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_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]] = {'LayerId': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'SoilId': 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.

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_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]] = {'Color': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'PersistableShadingType': FieldInfo(annotation=Union[PersistableShadingTypeEnum, NoneType], required=True), 'SoilId': 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.

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_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=''), 'Notes': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'OptionsType': FieldInfo(annotation=Union[OptionsTypeEnum, NoneType], required=False, default=<OptionsTypeEnum.DEFAULT: 'Default'>), 'SlipPlaneA': FieldInfo(annotation=Union[List[Union[PersistablePoint, NoneType]], NoneType], required=False, default=None), 'SlipPlaneB': FieldInfo(annotation=Union[List[Union[PersistablePoint, NoneType]], NoneType], required=False, default=None), 'SlipPlaneConstraints': FieldInfo(annotation=Union[PersistableGeneticSlipPlaneConstraints, NoneType], required=False, default=PersistableGeneticSlipPlaneConstraints(IsEnabled=False, MinimumAngleBetweenSlices=0.0, MinimumThrustLinePercentageInsideSlices=0.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.

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_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=''), 'Notes': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'SlipPlane': FieldInfo(annotation=Union[List[Union[PersistablePoint, NoneType]], NoneType], required=False, default=None), 'SlipPlaneConstraints': FieldInfo(annotation=Union[PersistableGeneticSlipPlaneConstraints, NoneType], required=False, default=PersistableGeneticSlipPlaneConstraints(IsEnabled=False, MinimumAngleBetweenSlices=0.0, MinimumThrustLinePercentageInsideSlices=0.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.

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_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]] = {'ArcLength': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'BottomAngle': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'BottomLeft': FieldInfo(annotation=Union[PersistablePoint, NoneType], required=False, default=None), 'BottomRight': FieldInfo(annotation=Union[PersistablePoint, NoneType], required=False, default=None), 'CohesionInput': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'CohesionOutput': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'DegreeOfConsolidationLoadPorePressure': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'DegreeOfConsolidationPorePressure': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'DilatancyInput': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'DilatancyOutput': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'EffectiveStress': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'HorizontalPorePressure': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'HorizontalSoilQuakeStress': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'HydrostaticPorePressure': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'Label': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'LeftForce': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'LeftForceAngle': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'LeftForceY': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'LoadStress': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'MInput': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'NormalStress': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'Ocr': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'PhiInput': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'PhiOutput': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'PiezometricPorePressure': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'Pop': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'RightForce': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'RightForceAngle': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'RightForceY': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'SInput': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'ShearStrengthModelType': FieldInfo(annotation=Union[ShearStrengthModelTypePhreaticLevelInternal, NoneType], required=False, default=None), 'ShearStress': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'SuOutput': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'SurfacePorePressure': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'TopAngle': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'TopLeft': FieldInfo(annotation=Union[PersistablePoint, NoneType], required=False, default=None), 'TopRight': FieldInfo(annotation=Union[PersistablePoint, NoneType], required=False, default=None), 'TotalPorePressure': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'TotalStress': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'UpliftFactor': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'VerticalPorePressure': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'VerticalSoilQuakeStress': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'WaterQuakeStress': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'Weight': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'Width': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'YieldStress': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN')}

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.internal.PersistableStateCorrelation(**data)
Parameters:

data (Any)

CorrelatedStateIds: Optional[List[Optional[str]]]
IsFullyCorrelated: Optional[bool]
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]] = {'CorrelatedStateIds': FieldInfo(annotation=Union[List[Union[str, NoneType]], NoneType], required=False, default=None), 'IsFullyCorrelated': FieldInfo(annotation=Union[bool, 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.

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_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]] = {'Points': FieldInfo(annotation=Union[List[Union[PersistablePoint, NoneType]], NoneType], required=False, default=None), 'Values': FieldInfo(annotation=Union[List[Union[PersistableStateLinePoint, NoneType]], 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.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_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]] = {'Above': FieldInfo(annotation=Union[PersistableStress, NoneType], required=False, default=None), 'Below': FieldInfo(annotation=Union[PersistableStress, NoneType], required=False, default=None), 'Id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'IsAboveAndBelowCorrelated': FieldInfo(annotation=Union[bool, NoneType], required=False, default=None), 'IsProbabilistic': FieldInfo(annotation=Union[bool, NoneType], required=False, default=None), 'Label': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'Notes': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'X': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN')}

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

This replaces Model.__fields__ from Pydantic V1.

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_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]] = {'Alpha': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'Property': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'StateLinePointId': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'UncorrelatedAlpha': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'Value': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN')}

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

This replaces Model.__fields__ from Pydantic V1.

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_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]] = {'Id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'IsProbabilistic': FieldInfo(annotation=Union[bool, NoneType], required=False, default=None), 'Label': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'LayerId': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'Notes': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'Point': FieldInfo(annotation=Union[PersistablePoint, NoneType], required=False, default=None), 'Stress': FieldInfo(annotation=Union[PersistableStress, 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.

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_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]] = {'Alpha': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'Property': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'StatePointId': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'UncorrelatedAlpha': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'Value': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN')}

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

This replaces Model.__fields__ from Pydantic V1.

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_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]] = {'IsProbabilistic': FieldInfo(annotation=bool, required=False, default=False), 'Mean': FieldInfo(annotation=float, required=False, default=1.0), 'StandardDeviation': FieldInfo(annotation=float, required=False, default=0.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.

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

data (Any)

Ocr: float
Pop: float
PopStochasticParameter: PersistableStochasticParameter
StateType: Optional[InternalStateTypeEnum]
YieldStress: 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]] = {'Ocr': FieldInfo(annotation=float, required=False, default=1.0), 'Pop': FieldInfo(annotation=float, required=False, default=0.0), 'PopStochasticParameter': FieldInfo(annotation=PersistableStochasticParameter, required=False, default=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), 'StateType': FieldInfo(annotation=Union[InternalStateTypeEnum, NoneType], required=False, default=None), 'YieldStress': FieldInfo(annotation=float, required=False, default=0.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.

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

data (Any)

Distance: Union[float, str, None]
Stress: Union[float, str, None]
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]] = {'Distance': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'Stress': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN')}

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.internal.PersistableSuShearStrengthModel(**data)
Parameters:

data (Any)

ShearStrengthRatio: Optional[float]
ShearStrengthRatioAndShearStrengthExponentCorrelated: bool
ShearStrengthRatioStochasticParameter: PersistableStochasticParameter
StrengthIncreaseExponent: Optional[float]
StrengthIncreaseExponentStochasticParameter: PersistableStochasticParameter
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]] = {'ShearStrengthRatio': FieldInfo(annotation=Union[float, NoneType], required=False, default=0.0), 'ShearStrengthRatioAndShearStrengthExponentCorrelated': FieldInfo(annotation=bool, required=False, default=False), 'ShearStrengthRatioStochasticParameter': FieldInfo(annotation=PersistableStochasticParameter, required=False, default=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), 'StrengthIncreaseExponent': FieldInfo(annotation=Union[float, NoneType], required=False, default=1.0), 'StrengthIncreaseExponentStochasticParameter': FieldInfo(annotation=PersistableStochasticParameter, required=False, default=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.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.

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

data (Any)

IsSuTableProbabilistic: bool
StrengthIncreaseExponent: float
StrengthIncreaseExponentStochasticParameter: PersistableStochasticParameter
SuTablePoints: List[PersistableSuTablePoint]
SuTableVariationCoefficient: 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]] = {'IsSuTableProbabilistic': FieldInfo(annotation=bool, required=False, default=False), 'StrengthIncreaseExponent': FieldInfo(annotation=float, required=False, default=1.0), 'StrengthIncreaseExponentStochasticParameter': FieldInfo(annotation=PersistableStochasticParameter, required=False, default=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), 'SuTablePoints': FieldInfo(annotation=List[PersistableSuTablePoint], required=False, default=[]), 'SuTableVariationCoefficient': FieldInfo(annotation=float, required=False, default=0.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_global_su_table()
class geolib.models.dstability.internal.PersistableSuTablePoint(**data)
Parameters:

data (Any)

EffectiveStress: float
Su: 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]] = {'EffectiveStress': FieldInfo(annotation=float, required=False, default=0.0), 'Su': FieldInfo(annotation=float, required=False, default=0.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.

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_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]] = {'Height': FieldInfo(annotation=Union[float, NoneType], required=False, default=0.0), 'Label': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'Notes': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'TopZ': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN')}

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.internal.PersistableTangentLines(**data)
Parameters:

data (Any)

BottomTangentLineZ: Union[float, str, None]
Label: Optional[str]
Notes: Optional[str]
NumberOfTangentLines: Optional[int]
Space: Optional[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]] = {'BottomTangentLineZ': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'Label': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'Notes': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'NumberOfTangentLines': FieldInfo(annotation=Union[int, NoneType], required=False, default=1), 'Space': FieldInfo(annotation=Union[float, NoneType], required=False, default=0.5)}

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.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_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]] = {'Force': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'Label': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'Location': FieldInfo(annotation=Union[PersistablePoint, NoneType], required=False, default=None), 'Notes': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'RootZoneWidth': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'Spread': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN')}

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.internal.PersistableTwoCirclesOnTangentLine(**data)
Parameters:

data (Any)

FirstCircleCenter: Optional[NullablePersistablePoint]
FirstCircleRadius: Union[float, str, None]
SecondCircleCenter: Optional[NullablePersistablePoint]
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]] = {'FirstCircleCenter': FieldInfo(annotation=Union[NullablePersistablePoint, NoneType], required=False, default=NullablePersistablePoint(X='NaN', Z='NaN')), 'FirstCircleRadius': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'SecondCircleCenter': FieldInfo(annotation=Union[NullablePersistablePoint, NoneType], required=False, default=NullablePersistablePoint(X='NaN', Z='NaN'))}

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.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_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]] = {'Consolidations': FieldInfo(annotation=Union[List[Union[PersistableConsolidation, NoneType]], NoneType], required=False, default=[]), 'End': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'Label': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'Magnitude': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'Notes': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'Spread': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'Start': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN')}

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.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_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=''), 'Notes': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'OptionsType': FieldInfo(annotation=Union[OptionsTypeEnum, NoneType], required=False, default=<OptionsTypeEnum.DEFAULT: 'Default'>), 'SearchAreaA': FieldInfo(annotation=Union[PersistableSearchArea, NoneType], required=False, default=PersistableSearchArea(Height=0.0, Label='', Notes='', TopLeft=None, Width=0.0)), 'SearchAreaB': FieldInfo(annotation=Union[PersistableSearchArea, NoneType], required=False, default=PersistableSearchArea(Height=0.0, Label='', Notes='', TopLeft=None, Width=0.0)), 'SlipPlaneConstraints': FieldInfo(annotation=Union[PersistableSlipPlaneConstraints, NoneType], required=False, default=PersistableSlipPlaneConstraints(IsSizeConstraintsEnabled=False, IsZoneAConstraintsEnabled=False, IsZoneBConstraintsEnabled=False, MinimumSlipPlaneDepth=0.0, MinimumSlipPlaneLength=0.0, WidthZoneA=0.0, WidthZoneB=0.0, XLeftZoneA=0.0, XLeftZoneB=0.0)), 'TangentArea': FieldInfo(annotation=Union[PersistableTangentArea, NoneType], required=False, default=PersistableTangentArea(Height=0.0, Label='', Notes='', TopZ='NaN'))}

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.internal.PersistableUpliftVanSettings(**data)
Parameters:

data (Any)

Label: Optional[str]
Notes: Optional[str]
SlipPlane: Optional[PersistableTwoCirclesOnTangentLine]
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=''), 'Notes': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'SlipPlane': FieldInfo(annotation=Union[PersistableTwoCirclesOnTangentLine, NoneType], required=False, default=PersistableTwoCirclesOnTangentLine(FirstCircleCenter=NullablePersistablePoint(X='NaN', Z='NaN'), FirstCircleRadius='NaN', SecondCircleCenter=NullablePersistablePoint(X='NaN', Z='NaN')))}

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.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_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]] = {'Analyst': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'ApplicationCreated': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'ApplicationModified': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'ContentVersion': FieldInfo(annotation=Union[str, NoneType], required=False, default='2'), 'Created': FieldInfo(annotation=Union[date, NoneType], required=False, default=datetime.date(2024, 9, 10)), 'CrossSection': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'Date': FieldInfo(annotation=Union[date, NoneType], required=False, default=datetime.date(2024, 9, 10)), 'IsDataValidated': FieldInfo(annotation=Union[bool, NoneType], required=False, default=False), 'LastModified': FieldInfo(annotation=Union[date, NoneType], required=False, default=datetime.date(2024, 9, 10)), 'LastModifier': FieldInfo(annotation=Union[str, NoneType], required=False, default='GEOLib'), 'Path': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'Project': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'Remarks': FieldInfo(annotation=Union[str, NoneType], required=False, default='Created with GEOLib 2.5.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.

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_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]] = {'ContentVersion': FieldInfo(annotation=Union[str, NoneType], required=False, default='2'), 'ForbiddenLines': FieldInfo(annotation=List[PersistableForbiddenLine], required=False, default=[]), 'Geotextiles': FieldInfo(annotation=List[PersistableGeotextile], required=False, default=[]), 'Id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'Nails': FieldInfo(annotation=List[PersistableNail], required=False, default=[])}

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

This replaces Model.__fields__ from Pydantic V1.

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_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]] = {'Calculations': FieldInfo(annotation=Union[List[PersistableCalculation], NoneType], required=False, default=[]), 'ContentVersion': FieldInfo(annotation=Union[str, NoneType], required=False, default='2'), 'Id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'Label': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'Notes': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'Stages': FieldInfo(annotation=Union[List[Stage], NoneType], required=False, default=[])}

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

This replaces Model.__fields__ from Pydantic V1.

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_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]] = {'ContentVersion': FieldInfo(annotation=Union[str, NoneType], required=False, default='2'), 'Soils': FieldInfo(annotation=List[PersistableSoil], required=False, default=[PersistableSoil(Code='H_Aa_ht_new', Id='2', IsProbabilistic=False, Name='Embankment new', Notes='', ShearStrengthModelTypeAbovePhreaticLevel=<ShearStrengthModelTypePhreaticLevelInternal.MOHR_COULOMB_ADVANCED: 'MohrCoulombAdvanced'>, ShearStrengthModelTypeBelowPhreaticLevel=<ShearStrengthModelTypePhreaticLevelInternal.SU: 'Su'>, MohrCoulombClassicShearStrengthModel=PersistableMohrCoulombClassicShearStrengthModel(Cohesion=0.0, CohesionAndFrictionAngleCorrelated=False, CohesionStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), FrictionAngle=0.0, FrictionAngleStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), MohrCoulombAdvancedShearStrengthModel=PersistableMohrCoulombAdvancedShearStrengthModel(Cohesion=7.0, CohesionAndFrictionAngleCorrelated=False, CohesionStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), Dilatancy=0.0, DilatancyStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), FrictionAngle=30.0, FrictionAngleStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), SuShearStrengthModel=PersistableSuShearStrengthModel(ShearStrengthRatio=0.26, ShearStrengthRatioAndShearStrengthExponentCorrelated=False, ShearStrengthRatioStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), StrengthIncreaseExponent=0.9, StrengthIncreaseExponentStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), VolumetricWeightAbovePhreaticLevel=19.3, VolumetricWeightBelowPhreaticLevel=19.3, SuTable=PersistableSuTable(StrengthIncreaseExponent=1.0, StrengthIncreaseExponentStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), SuTablePoints=[], IsSuTableProbabilistic=False, SuTableVariationCoefficient=0.0)), PersistableSoil(Code='H_Aa_ht_old', Id='3', IsProbabilistic=False, Name='Embankment old', Notes='', ShearStrengthModelTypeAbovePhreaticLevel=<ShearStrengthModelTypePhreaticLevelInternal.MOHR_COULOMB_ADVANCED: 'MohrCoulombAdvanced'>, ShearStrengthModelTypeBelowPhreaticLevel=<ShearStrengthModelTypePhreaticLevelInternal.SU: 'Su'>, MohrCoulombClassicShearStrengthModel=PersistableMohrCoulombClassicShearStrengthModel(Cohesion=0.0, CohesionAndFrictionAngleCorrelated=False, CohesionStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), FrictionAngle=0.0, FrictionAngleStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), MohrCoulombAdvancedShearStrengthModel=PersistableMohrCoulombAdvancedShearStrengthModel(Cohesion=7.0, CohesionAndFrictionAngleCorrelated=False, CohesionStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), Dilatancy=0.0, DilatancyStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), FrictionAngle=30.0, FrictionAngleStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), SuShearStrengthModel=PersistableSuShearStrengthModel(ShearStrengthRatio=0.26, ShearStrengthRatioAndShearStrengthExponentCorrelated=False, ShearStrengthRatioStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), StrengthIncreaseExponent=0.9, StrengthIncreaseExponentStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), VolumetricWeightAbovePhreaticLevel=18.0, VolumetricWeightBelowPhreaticLevel=18.0, SuTable=PersistableSuTable(StrengthIncreaseExponent=1.0, StrengthIncreaseExponentStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), SuTablePoints=[], IsSuTableProbabilistic=False, SuTableVariationCoefficient=0.0)), PersistableSoil(Code='H_Rk_k_shallow', Id='4', IsProbabilistic=False, Name='Clay, shallow', Notes='', ShearStrengthModelTypeAbovePhreaticLevel=<ShearStrengthModelTypePhreaticLevelInternal.SU: 'Su'>, ShearStrengthModelTypeBelowPhreaticLevel=<ShearStrengthModelTypePhreaticLevelInternal.SU: 'Su'>, MohrCoulombClassicShearStrengthModel=PersistableMohrCoulombClassicShearStrengthModel(Cohesion=0.0, CohesionAndFrictionAngleCorrelated=False, CohesionStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), FrictionAngle=0.0, FrictionAngleStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), MohrCoulombAdvancedShearStrengthModel=PersistableMohrCoulombAdvancedShearStrengthModel(Cohesion=0.0, CohesionAndFrictionAngleCorrelated=False, CohesionStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), Dilatancy=0.0, DilatancyStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), FrictionAngle=0.0, FrictionAngleStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), SuShearStrengthModel=PersistableSuShearStrengthModel(ShearStrengthRatio=0.23, ShearStrengthRatioAndShearStrengthExponentCorrelated=False, ShearStrengthRatioStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), StrengthIncreaseExponent=0.9, StrengthIncreaseExponentStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), VolumetricWeightAbovePhreaticLevel=14.8, VolumetricWeightBelowPhreaticLevel=14.8, SuTable=PersistableSuTable(StrengthIncreaseExponent=1.0, StrengthIncreaseExponentStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), SuTablePoints=[], IsSuTableProbabilistic=False, SuTableVariationCoefficient=0.0)), PersistableSoil(Code='H_Rk_k_deep', Id='5', IsProbabilistic=False, Name='Clay, deep', Notes='', ShearStrengthModelTypeAbovePhreaticLevel=<ShearStrengthModelTypePhreaticLevelInternal.SU: 'Su'>, ShearStrengthModelTypeBelowPhreaticLevel=<ShearStrengthModelTypePhreaticLevelInternal.SU: 'Su'>, MohrCoulombClassicShearStrengthModel=PersistableMohrCoulombClassicShearStrengthModel(Cohesion=0.0, CohesionAndFrictionAngleCorrelated=False, CohesionStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), FrictionAngle=0.0, FrictionAngleStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), MohrCoulombAdvancedShearStrengthModel=PersistableMohrCoulombAdvancedShearStrengthModel(Cohesion=0.0, CohesionAndFrictionAngleCorrelated=False, CohesionStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), Dilatancy=0.0, DilatancyStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), FrictionAngle=0.0, FrictionAngleStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), SuShearStrengthModel=PersistableSuShearStrengthModel(ShearStrengthRatio=0.23, ShearStrengthRatioAndShearStrengthExponentCorrelated=False, ShearStrengthRatioStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), StrengthIncreaseExponent=0.9, StrengthIncreaseExponentStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), VolumetricWeightAbovePhreaticLevel=15.6, VolumetricWeightBelowPhreaticLevel=15.6, SuTable=PersistableSuTable(StrengthIncreaseExponent=1.0, StrengthIncreaseExponentStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), SuTablePoints=[], IsSuTableProbabilistic=False, SuTableVariationCoefficient=0.0)), PersistableSoil(Code='H_Rk_ko', Id='6', IsProbabilistic=False, Name='Organic clay', Notes='', ShearStrengthModelTypeAbovePhreaticLevel=<ShearStrengthModelTypePhreaticLevelInternal.SU: 'Su'>, ShearStrengthModelTypeBelowPhreaticLevel=<ShearStrengthModelTypePhreaticLevelInternal.SU: 'Su'>, MohrCoulombClassicShearStrengthModel=PersistableMohrCoulombClassicShearStrengthModel(Cohesion=0.0, CohesionAndFrictionAngleCorrelated=False, CohesionStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), FrictionAngle=0.0, FrictionAngleStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), MohrCoulombAdvancedShearStrengthModel=PersistableMohrCoulombAdvancedShearStrengthModel(Cohesion=0.0, CohesionAndFrictionAngleCorrelated=False, CohesionStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), Dilatancy=0.0, DilatancyStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), FrictionAngle=0.0, FrictionAngleStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), SuShearStrengthModel=PersistableSuShearStrengthModel(ShearStrengthRatio=0.24, ShearStrengthRatioAndShearStrengthExponentCorrelated=False, ShearStrengthRatioStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), StrengthIncreaseExponent=0.85, StrengthIncreaseExponentStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), VolumetricWeightAbovePhreaticLevel=13.9, VolumetricWeightBelowPhreaticLevel=13.9, SuTable=PersistableSuTable(StrengthIncreaseExponent=1.0, StrengthIncreaseExponentStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), SuTablePoints=[], IsSuTableProbabilistic=False, SuTableVariationCoefficient=0.0)), PersistableSoil(Code='H_vhv_v', Id='7', IsProbabilistic=False, Name='Peat, shallow', Notes='', ShearStrengthModelTypeAbovePhreaticLevel=<ShearStrengthModelTypePhreaticLevelInternal.SU: 'Su'>, ShearStrengthModelTypeBelowPhreaticLevel=<ShearStrengthModelTypePhreaticLevelInternal.SU: 'Su'>, MohrCoulombClassicShearStrengthModel=PersistableMohrCoulombClassicShearStrengthModel(Cohesion=0.0, CohesionAndFrictionAngleCorrelated=False, CohesionStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), FrictionAngle=0.0, FrictionAngleStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), MohrCoulombAdvancedShearStrengthModel=PersistableMohrCoulombAdvancedShearStrengthModel(Cohesion=0.0, CohesionAndFrictionAngleCorrelated=False, CohesionStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), Dilatancy=0.0, DilatancyStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), FrictionAngle=0.0, FrictionAngleStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), SuShearStrengthModel=PersistableSuShearStrengthModel(ShearStrengthRatio=0.3, ShearStrengthRatioAndShearStrengthExponentCorrelated=False, ShearStrengthRatioStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), StrengthIncreaseExponent=0.9, StrengthIncreaseExponentStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), VolumetricWeightAbovePhreaticLevel=10.1, VolumetricWeightBelowPhreaticLevel=10.1, SuTable=PersistableSuTable(StrengthIncreaseExponent=1.0, StrengthIncreaseExponentStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), SuTablePoints=[], IsSuTableProbabilistic=False, SuTableVariationCoefficient=0.0)), PersistableSoil(Code='H_vbv_v', Id='8', IsProbabilistic=False, Name='Peat, deep', Notes='', ShearStrengthModelTypeAbovePhreaticLevel=<ShearStrengthModelTypePhreaticLevelInternal.SU: 'Su'>, ShearStrengthModelTypeBelowPhreaticLevel=<ShearStrengthModelTypePhreaticLevelInternal.SU: 'Su'>, MohrCoulombClassicShearStrengthModel=PersistableMohrCoulombClassicShearStrengthModel(Cohesion=0.0, CohesionAndFrictionAngleCorrelated=False, CohesionStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), FrictionAngle=0.0, FrictionAngleStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), MohrCoulombAdvancedShearStrengthModel=PersistableMohrCoulombAdvancedShearStrengthModel(Cohesion=0.0, CohesionAndFrictionAngleCorrelated=False, CohesionStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), Dilatancy=0.0, DilatancyStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), FrictionAngle=0.0, FrictionAngleStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), SuShearStrengthModel=PersistableSuShearStrengthModel(ShearStrengthRatio=0.27, ShearStrengthRatioAndShearStrengthExponentCorrelated=False, ShearStrengthRatioStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), StrengthIncreaseExponent=0.9, StrengthIncreaseExponentStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), VolumetricWeightAbovePhreaticLevel=11.0, VolumetricWeightBelowPhreaticLevel=11.0, SuTable=PersistableSuTable(StrengthIncreaseExponent=1.0, StrengthIncreaseExponentStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), SuTablePoints=[], IsSuTableProbabilistic=False, SuTableVariationCoefficient=0.0)), PersistableSoil(Code='Sand', Id='9', IsProbabilistic=False, Name='Sand', Notes='', ShearStrengthModelTypeAbovePhreaticLevel=<ShearStrengthModelTypePhreaticLevelInternal.MOHR_COULOMB_ADVANCED: 'MohrCoulombAdvanced'>, ShearStrengthModelTypeBelowPhreaticLevel=<ShearStrengthModelTypePhreaticLevelInternal.MOHR_COULOMB_ADVANCED: 'MohrCoulombAdvanced'>, MohrCoulombClassicShearStrengthModel=PersistableMohrCoulombClassicShearStrengthModel(Cohesion=0.0, CohesionAndFrictionAngleCorrelated=False, CohesionStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), FrictionAngle=0.0, FrictionAngleStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), MohrCoulombAdvancedShearStrengthModel=PersistableMohrCoulombAdvancedShearStrengthModel(Cohesion=0.0, CohesionAndFrictionAngleCorrelated=False, CohesionStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), Dilatancy=0.0, DilatancyStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), FrictionAngle=30.0, FrictionAngleStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), SuShearStrengthModel=PersistableSuShearStrengthModel(ShearStrengthRatio=0.0, ShearStrengthRatioAndShearStrengthExponentCorrelated=False, ShearStrengthRatioStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), StrengthIncreaseExponent=1.0, StrengthIncreaseExponentStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), VolumetricWeightAbovePhreaticLevel=18.0, VolumetricWeightBelowPhreaticLevel=20.0, SuTable=PersistableSuTable(StrengthIncreaseExponent=1.0, StrengthIncreaseExponentStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), SuTablePoints=[], IsSuTableProbabilistic=False, SuTableVariationCoefficient=0.0)), PersistableSoil(Code='P_Rk_k&s', Id='10', IsProbabilistic=False, Name='Clay with silt', Notes='', ShearStrengthModelTypeAbovePhreaticLevel=<ShearStrengthModelTypePhreaticLevelInternal.SU: 'Su'>, ShearStrengthModelTypeBelowPhreaticLevel=<ShearStrengthModelTypePhreaticLevelInternal.SU: 'Su'>, MohrCoulombClassicShearStrengthModel=PersistableMohrCoulombClassicShearStrengthModel(Cohesion=0.0, CohesionAndFrictionAngleCorrelated=False, CohesionStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), FrictionAngle=0.0, FrictionAngleStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), MohrCoulombAdvancedShearStrengthModel=PersistableMohrCoulombAdvancedShearStrengthModel(Cohesion=0.0, CohesionAndFrictionAngleCorrelated=False, CohesionStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), Dilatancy=0.0, DilatancyStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), FrictionAngle=0.0, FrictionAngleStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), SuShearStrengthModel=PersistableSuShearStrengthModel(ShearStrengthRatio=0.22, ShearStrengthRatioAndShearStrengthExponentCorrelated=False, ShearStrengthRatioStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), StrengthIncreaseExponent=0.9, StrengthIncreaseExponentStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), VolumetricWeightAbovePhreaticLevel=18.0, VolumetricWeightBelowPhreaticLevel=18.0, SuTable=PersistableSuTable(StrengthIncreaseExponent=1.0, StrengthIncreaseExponentStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), SuTablePoints=[], IsSuTableProbabilistic=False, SuTableVariationCoefficient=0.0)), PersistableSoil(Code='H_Ro_z&k', Id='11', IsProbabilistic=False, Name='Sand with clay', Notes='', ShearStrengthModelTypeAbovePhreaticLevel=<ShearStrengthModelTypePhreaticLevelInternal.SU: 'Su'>, ShearStrengthModelTypeBelowPhreaticLevel=<ShearStrengthModelTypePhreaticLevelInternal.SU: 'Su'>, MohrCoulombClassicShearStrengthModel=PersistableMohrCoulombClassicShearStrengthModel(Cohesion=0.0, CohesionAndFrictionAngleCorrelated=False, CohesionStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), FrictionAngle=0.0, FrictionAngleStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), MohrCoulombAdvancedShearStrengthModel=PersistableMohrCoulombAdvancedShearStrengthModel(Cohesion=0.0, CohesionAndFrictionAngleCorrelated=False, CohesionStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), Dilatancy=0.0, DilatancyStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), FrictionAngle=0.0, FrictionAngleStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), SuShearStrengthModel=PersistableSuShearStrengthModel(ShearStrengthRatio=0.22, ShearStrengthRatioAndShearStrengthExponentCorrelated=False, ShearStrengthRatioStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), StrengthIncreaseExponent=0.9, StrengthIncreaseExponentStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0)), VolumetricWeightAbovePhreaticLevel=18.0, VolumetricWeightBelowPhreaticLevel=18.0, SuTable=PersistableSuTable(StrengthIncreaseExponent=1.0, StrengthIncreaseExponentStochasticParameter=PersistableStochasticParameter(IsProbabilistic=False, Mean=1.0, StandardDeviation=0.0), SuTablePoints=[], IsSuTableProbabilistic=False, SuTableVariationCoefficient=0.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.

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_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]] = {'ContentVersion': FieldInfo(annotation=Union[str, NoneType], required=False, default='2'), 'SoilCorrelations': FieldInfo(annotation=Union[List[Union[PersistableSoilCorrelation, NoneType]], NoneType], required=False, default=[])}

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

This replaces Model.__fields__ from Pydantic V1.

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_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]] = {'ContentVersion': FieldInfo(annotation=Union[str, NoneType], required=False, default='2'), 'Id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'SoilLayers': FieldInfo(annotation=List[PersistableSoilLayer], required=False, default=[])}

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

This replaces Model.__fields__ from Pydantic V1.

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_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]] = {'ContentVersion': FieldInfo(annotation=Union[str, NoneType], required=False, default='2'), 'SoilVisualizations': FieldInfo(annotation=Union[List[Union[PersistableSoilVisualization, NoneType]], NoneType], required=False, default=[])}

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

This replaces Model.__fields__ from Pydantic V1.

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_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]] = {'CalculationContributions': FieldInfo(annotation=Union[List[Union[PersistableCalculationContribution, NoneType]], NoneType], required=False, default=None), 'Converged': FieldInfo(annotation=Union[bool, NoneType], required=False, default=None), 'DistanceToConvergence': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'FailureProbability': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'Id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'ReliabilityIndex': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'SlipPlane': FieldInfo(annotation=Union[List[Union[PersistablePoint, NoneType]], NoneType], required=False, default=None), 'SoilContributions': FieldInfo(annotation=Union[List[Union[PersistableSoilContribution, NoneType]], NoneType], required=False, default=None), 'StateLinePointContributions': FieldInfo(annotation=Union[List[Union[PersistableStateLinePointContribution, NoneType]], NoneType], required=False, default=None), 'StatePointContributions': FieldInfo(annotation=Union[List[Union[PersistableStatePointContribution, NoneType]], 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.

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_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]] = {'FactorOfSafety': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'Id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'Points': FieldInfo(annotation=Union[List[Union[PersistablePoint, NoneType]], NoneType], required=False, default=None), 'ResultThreshold': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'Slices': FieldInfo(annotation=Union[List[Union[PersistableSpencerSlice, NoneType]], NoneType], required=False, default=None), 'SlipPlane': FieldInfo(annotation=Union[List[Union[PersistablePoint, NoneType]], NoneType], required=False, default=None), 'SlipPlaneResults': FieldInfo(annotation=Union[list, 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.

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_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]] = {'CalculationContributions': FieldInfo(annotation=Union[List[Union[PersistableCalculationContribution, NoneType]], NoneType], required=False, default=None), 'Converged': FieldInfo(annotation=Union[bool, NoneType], required=False, default=None), 'DistanceToConvergence': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'FailureProbability': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'Id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'ReliabilityIndex': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'SlipPlane': FieldInfo(annotation=Union[List[Union[PersistablePoint, NoneType]], NoneType], required=False, default=None), 'SoilContributions': FieldInfo(annotation=Union[List[Union[PersistableSoilContribution, NoneType]], NoneType], required=False, default=None), 'StateLinePointContributions': FieldInfo(annotation=Union[List[Union[PersistableStateLinePointContribution, NoneType]], NoneType], required=False, default=None), 'StatePointContributions': FieldInfo(annotation=Union[List[Union[PersistableStatePointContribution, NoneType]], 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.

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_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]] = {'FactorOfSafety': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'Id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'Points': FieldInfo(annotation=Union[List[Union[PersistablePoint, NoneType]], NoneType], required=False, default=None), 'Slices': FieldInfo(annotation=Union[List[Union[PersistableSpencerSlice, NoneType]], NoneType], required=False, default=None), 'SlipPlane': FieldInfo(annotation=Union[List[Union[PersistablePoint, NoneType]], 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.

classmethod transform_id_to_str(value)
Return type:

str

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

data (Any)

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]] = {'slipplane': FieldInfo(annotation=List[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.

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_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]] = {'DecorationsId': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'GeometryId': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'Id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'Label': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'LoadsId': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'Notes': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'ReinforcementsId': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'SoilLayersId': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'StateCorrelationsId': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'StateId': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'WaternetCreatorSettingsId': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'WaternetId': 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.

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_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]] = {'ContentVersion': FieldInfo(annotation=Union[str, NoneType], required=False, default='2'), 'Id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'StateLines': FieldInfo(annotation=List[PersistableStateLine], required=False, default=[]), 'StatePoints': FieldInfo(annotation=List[PersistableStatePoint], required=False, default=[])}

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

This replaces Model.__fields__ from Pydantic V1.

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_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]] = {'ContentVersion': FieldInfo(annotation=Union[str, NoneType], required=False, default='2'), 'Id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'StateCorrelations': FieldInfo(annotation=Union[List[Union[PersistableStateCorrelation, NoneType]], NoneType], required=False, default=[])}

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

This replaces Model.__fields__ from Pydantic V1.

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_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]] = {'CalculationContributions': FieldInfo(annotation=Union[List[Union[PersistableCalculationContribution, NoneType]], NoneType], required=False, default=None), 'Converged': FieldInfo(annotation=Union[bool, NoneType], required=False, default=None), 'DistanceToConvergence': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'FailureProbability': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'Id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'LeftCenter': FieldInfo(annotation=Union[PersistablePoint, NoneType], required=False, default=None), 'ReliabilityIndex': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'ResultThreshold': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'RightCenter': FieldInfo(annotation=Union[PersistablePoint, NoneType], required=False, default=None), 'SlipPlaneResults': FieldInfo(annotation=Union[list, NoneType], required=False, default=None), 'SoilContributions': FieldInfo(annotation=Union[List[Union[PersistableSoilContribution, NoneType]], NoneType], required=False, default=None), 'StateLinePointContributions': FieldInfo(annotation=Union[List[Union[PersistableStateLinePointContribution, NoneType]], NoneType], required=False, default=None), 'StatePointContributions': FieldInfo(annotation=Union[List[Union[PersistableStatePointContribution, NoneType]], NoneType], required=False, default=None), 'TangentLine': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN')}

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

This replaces Model.__fields__ from Pydantic V1.

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_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]] = {'FactorOfSafety': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'Id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'LeftCenter': FieldInfo(annotation=Union[PersistablePoint, NoneType], required=False, default=None), 'Points': FieldInfo(annotation=Union[List[Union[PersistablePoint, NoneType]], NoneType], required=False, default=None), 'ResultThreshold': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'RightCenter': FieldInfo(annotation=Union[PersistablePoint, NoneType], required=False, default=None), 'Slices': FieldInfo(annotation=Union[List[Union[PersistableSlice, NoneType]], NoneType], required=False, default=None), 'SlipPlaneResults': FieldInfo(annotation=Union[list, NoneType], required=False, default=None), 'TangentLine': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN')}

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

This replaces Model.__fields__ from Pydantic V1.

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_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]] = {'CalculationContributions': FieldInfo(annotation=Union[List[Union[PersistableCalculationContribution, NoneType]], NoneType], required=False, default=None), 'Converged': FieldInfo(annotation=Union[bool, NoneType], required=False, default=None), 'DistanceToConvergence': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'FailureProbability': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'Id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'LeftCenter': FieldInfo(annotation=Union[PersistablePoint, NoneType], required=False, default=None), 'ReliabilityIndex': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'RightCenter': FieldInfo(annotation=Union[PersistablePoint, NoneType], required=False, default=None), 'SoilContributions': FieldInfo(annotation=Union[List[Union[PersistableSoilContribution, NoneType]], NoneType], required=False, default=None), 'StateLinePointContributions': FieldInfo(annotation=Union[List[Union[PersistableStateLinePointContribution, NoneType]], NoneType], required=False, default=None), 'StatePointContributions': FieldInfo(annotation=Union[List[Union[PersistableStatePointContribution, NoneType]], NoneType], required=False, default=None), 'TangentLine': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN')}

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

This replaces Model.__fields__ from Pydantic V1.

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_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]] = {'FactorOfSafety': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'Id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'LeftCenter': FieldInfo(annotation=Union[PersistablePoint, NoneType], required=False, default=None), 'Points': FieldInfo(annotation=Union[List[Union[PersistablePoint, NoneType]], NoneType], required=False, default=None), 'RightCenter': FieldInfo(annotation=Union[PersistablePoint, NoneType], required=False, default=None), 'Slices': FieldInfo(annotation=Union[List[Union[PersistableSlice, NoneType]], NoneType], required=False, default=None), 'TangentLine': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN')}

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

This replaces Model.__fields__ from Pydantic V1.

classmethod transform_id_to_str(value)
Return type:

str

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

data (Any)

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]] = {'x_left': FieldInfo(annotation=float, required=True), 'x_right': FieldInfo(annotation=float, required=True), 'z_left': FieldInfo(annotation=float, required=True), 'z_right': FieldInfo(annotation=float, required=True), 'z_tangent': 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.

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_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]] = {'ContentVersion': FieldInfo(annotation=Union[str, NoneType], required=False, default='2'), 'HeadLines': FieldInfo(annotation=List[PersistableHeadLine], required=False, default=[]), 'Id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'PhreaticLineId': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'ReferenceLines': FieldInfo(annotation=List[PersistableReferenceLine], required=False, default=[]), 'UnitWeightWater': FieldInfo(annotation=Union[float, NoneType], required=False, default=9.81)}

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

This replaces Model.__fields__ from Pydantic V1.

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_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]] = {'AdjustForUplift': FieldInfo(annotation=Union[bool, NoneType], required=False, default=False), 'AquiferInsideAquitardLayerId': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'AquiferLayerId': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'AquiferLayerInsideAquitardLeakageLengthInwards': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'AquiferLayerInsideAquitardLeakageLengthOutwards': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'AquitardHeadLandSide': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'AquitardHeadWaterSide': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'ContentVersion': FieldInfo(annotation=Union[str, NoneType], required=False, default='2'), 'DitchCharacteristics': FieldInfo(annotation=Union[PersistableDitchCharacteristics, NoneType], required=False, default=PersistableDitchCharacteristics(DitchBottomEmbankmentSide='NaN', DitchBottomLandSide='NaN', DitchEmbankmentSide='NaN', DitchLandSide='NaN')), 'DrainageConstruction': FieldInfo(annotation=Union[PersistablePoint, NoneType], required=False, default=PersistablePoint(X='NaN', Z='NaN')), 'EmbankmentCharacteristics': FieldInfo(annotation=Union[PersistableEmbankmentCharacteristics, NoneType], required=False, default=PersistableEmbankmentCharacteristics(EmbankmentToeLandSide='NaN', EmbankmentToeWaterSide='NaN', EmbankmentTopLandSide='NaN', EmbankmentTopWaterSide='NaN', ShoulderBaseLandSide='NaN')), 'EmbankmentSoilScenario': FieldInfo(annotation=EmbankmentSoilScenarioEnum, required=False, default=<EmbankmentSoilScenarioEnum.CLAY_EMBANKMENT_ON_CLAY: 'ClayEmbankmentOnClay'>), 'Id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'InitialLevelEmbankmentTopLandSide': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'InitialLevelEmbankmentTopWaterSide': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'IntrusionLength': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'IsAquiferLayerInsideAquitard': FieldInfo(annotation=Union[bool, NoneType], required=False, default=False), 'IsDitchPresent': FieldInfo(annotation=Union[bool, NoneType], required=False, default=False), 'IsDrainageConstructionPresent': FieldInfo(annotation=Union[bool, NoneType], required=False, default=False), 'MeanWaterLevel': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'NormativeWaterLevel': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'OffsetEmbankmentToeLandSide': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'OffsetEmbankmentTopLandSide': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'OffsetEmbankmentTopWaterSide': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'OffsetShoulderBaseLandSide': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'PleistoceneLeakageLengthInwards': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'PleistoceneLeakageLengthOutwards': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN'), 'UseDefaultOffsets': FieldInfo(annotation=Union[bool, NoneType], required=False, default=True), 'WaterLevelHinterland': FieldInfo(annotation=Union[float, str, NoneType], required=False, default='NaN')}

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

This replaces Model.__fields__ from Pydantic V1.

transform_id_to_str(value)
Return type:

str