geolib.models.dsheetpiling.dsheetpiling_model

Classes

BaseModelType(**data)

Base Class for Model types (Pile, Sheet, Wall).

DSheetPilingModel(**data)

DSheetPiling is a tool used to design sheetpile and diaphragm walls and horizontally loaded piles.

DiaphragmModelType(**data)

SheetModelType(**data)

SinglePileModelType(**data)

WoodenSheetPileModelType(**data)

class geolib.models.dsheetpiling.dsheetpiling_model.BaseModelType(**data)

Base Class for Model types (Pile, Sheet, Wall).

Parameters:

data (Any)

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

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

class geolib.models.dsheetpiling.dsheetpiling_model.DSheetPilingModel(**data)

DSheetPiling is a tool used to design sheetpile and diaphragm walls and horizontally loaded piles.

This model can read, modify and create *.shi files, read *.shd and *.err files.

Parameters:

data (Any)

add_anchor_or_strut(support, stage_id, pre_stress=0)

Add anchor or strut to a stage.

Anchor and Strut supports are only available for the sheetpiling model.

Parameters:
  • support (Union[Anchor, Strut]) – Anchor and Strut.

  • pre_stress (float) – Prestress for the support which is added to a construction stage. This is a tension stress for the anchor and a compression stress for the strut.

  • stage_id (int) – Support is added to this stage.

Return type:

None

add_calculation_options_per_stage(calculation_options_per_stage, stage_id)

Set calculation options per stage.

Calculation options per stage are set in [CALCULATION OPTIONS PER STAGE].

Parameters:
  • calculation_options_per_stage (CalculationOptionsPerStage) – Calculation options for stage

  • stage_id (int) – Settings are set to this stage. This refers to the Pythonic input and has a starting point of 0.

Raises:

ValueError – When non-existing stage_id is passed or when no CalculationOptionsPerStage are required.

Return type:

None

add_head_line(water_level, side, stage_id)

Set water level for a stage.

If a water level already exists, it is refered to that water level.

Related to the [WATERLEVELS] block in the .shi file.

Parameters:
  • water_level (WaterLevel) – WaterLevel.

  • side (Side) – Side which determines on which side the surface is added.

  • stage_id (int) – WaterLevel is added to this stage.

Raises:

ValueError – When non-existing stage_id is passed.

Return type:

None

add_load(load, stage_id)

Adds other loads of type Moment, HorizontalLineLoad, NormalForce, SoilDisplacement or UniformLoad

Parameters:

Note: SoilDisplacement and UniformLoad are only valid for a sheetpiling construction.

Raises:
  • ValueError – When non-existing stage_id is passed.

  • ValueError – When a verification calculation is selected but duration_type and load_type are not defined for the load.

add_profile(profile, side, stage_id)

Add a Profile on the left or right side of a stage.

Profile is added to [SOIL PROFILES] if not yet added; reference is done by name. A reference in [CONSTRUCTION STAGES] is updated.

Parameters:
  • profile (SoilProfile) – Profile.

  • side (Side) – Side which determines on which side the profile is added.

  • stage_id (int) – Surface is added to this stage.

Raises:

ValueError – When non-existing stage_id is passed.

Return type:

None

add_soil(soil)

Soil is converted in the internal structure and added in soil_collection.

Parameters:

soil (Soil)

Return type:

str

add_stage(name, passive_side, method_left, method_right, pile_top_displacement=0.0)

Add a new stage to the model.

When using a Single Pile model, the lateral earth pressure method left and right need to be the same. Their inputs however do not effect the outcome of the calculation.

Parameters:
  • name (str) – Name of the stage.

  • passive_side (PassiveSide) – Option to set the passive side for the stage.

  • method_left (LateralEarthPressureMethodStage) – LateralEarthPressureMethodStage applied to left side, must be compatible with the Model LateralEarthPressureMethod

  • method_right (LateralEarthPressureMethodStage) – LateralEarthPressureMethodStage applied to right side, must be compatible with the Model LateralEarthPressureMethod

  • pile_top_displacement (float) – Pile top displacement [m]. When not provided, Use top displacement will be set to false.

Raises:

ValidationError – when input arguments are not within constraints

Returns:

Stage id which can be used to modify the stage.

Return type:

int

add_support(support, stage_id)

Add spring or rigid support to a stage.

Parameters:
  • support (Union[SpringSupport, RigidSupport]) – SpringSupport or RigidSupport.

  • stage_id (int) – ID of the stage. Of no ID is provided, the current stage ID will be taken.

Return type:

None

add_surcharge_load(load, side, stage_id)

Add surcharge load to a stage.

Parameters:
  • load (SurchargeLoad) – SurchargeLoad.

  • side (Side) – Side which determines on which side the load is added.

  • stage_id (int) – SurchareLoad is added to this stage.

Raises:

ValueError – When non-existing stage_id is passed.

Return type:

None

add_surface(surface, side, stage_id)

Set surface for a stage.

Surface is added to [SURFACES] if not yet added; reference is done by name. A reference in [CONSTRUCTION STAGES] is updated.

Parameters:
  • surface (Surface) – Surface.

  • side (Side) – Side which determines on which side the surface is added.

  • stage_id (int) – Surface is added to this stage.

Raises:

ValueError – When non-existing stage_id is passed.

Return type:

None

property console_flags: List[str]
current_stage: Optional[int]
property custom_console_path: Path
datastructure: Union[DSheetPilingStructure, DSheetPilingDumpStructure]

This is the base class for all models in GEOLib.

Note that datastructure is a SerializeAsAny type, which means that the inheriting class is serialized according to its own definition (duck-typing). This is needed since Pydantic v2 as the default behavior has changed: https://docs.pydantic.dev/latest/concepts/serialization/#subclass-instances-for-fields-of-basemodel-dataclasses-typeddict

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

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

property model_type: str | ModelType
property output: DSheetPilingOutputStructure

Access internal dict-like datastructure of the output.

Requires a successful execute.

property parser_provider_type: Type[DSheetPilingParserProvider]

Returns the parser provider type of the current concrete class.

Raises:

NotImplementedError – If not implemented in the concrete class.

Returns:

Type[BaseParserProvider] – Concrete parser provider.

property profiles

Enables easy access to the profiles in the internal dict-like datastructure.

Also enables edit/delete for individual Profiles.

serialize(filename)

Serialize model to input file.

Parameters:

filename (Union[Path, BinaryIO])

set_calculation_options(calculation_options)

Set calculation options.

Overall calculation options are set in [CALCULATION OPTIONS].

Parameters:

calculation_options (CalculationOptions) – Calculation options

Return type:

None

set_construction(top_level, elements)

Sets construction for the DSheetPilingModel.

Elements are added to [SHEET PILING]. Removes current sheetpiling when called.

Parameters:
  • top_level (float) – Top level of the sheet piling.

  • elements (List[Union[Sheet, DiaphragmWall, Pile]]) – List of sheet piling elements (can be Sheet, DiaphragmWall, or Pile elements) which are sorted on sheetpilingelementlevel.

Return type:

None

set_curve_settings(curve_settings)

Set curve settings for soil profiles.

Curve settings are set in [SOIL PROFILES].

Parameters:

curve_settings (CurveSettings) – Curvesettings

set_model(model)

(Re)Set BaseModelType (Pile, Sheet, Wall) for model.

Parameters:

model (BaseModelType)

Return type:

None

set_unit_weight_water(unit_weight)

Sets the unit weight for water in the [WATER] block

Parameters:

unit_weight (float)

Return type:

None

set_vertical_balance(vertical_balance)

Sets the vertical balance parameters

The parameters are set in [VERTICAL BALANCE]

Parameters:

vertical_balance (VerticalBalance) – VerticalBalance, holds the vertical balance parameters

Return type:

None

property sheets

Enables easy access to the sheets in the internal dict-like datastructure.

Also enables edit/delete for individual Sheets.

class geolib.models.dsheetpiling.dsheetpiling_model.DiaphragmModelType(**data)
Parameters:

data (Any)

check_vertical_balance: Optional[bool]
diepwand_calculation: bool
elastic_calculation: bool
method: Optional[LateralEarthPressureMethod]
property model: ModelType
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

verification: Optional[bool]
class geolib.models.dsheetpiling.dsheetpiling_model.SheetModelType(**data)
Parameters:

data (Any)

check_vertical_balance: Optional[bool]
elastic_calculation: Optional[bool]
method: Optional[LateralEarthPressureMethod]
property model: ModelType
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

reliability_analysis: Optional[bool]
trildens_calculation: Optional[bool]
verification: Optional[bool]
class geolib.models.dsheetpiling.dsheetpiling_model.SinglePileModelType(**data)
Parameters:

data (Any)

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

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

pile_load_option: Optional[SinglePileLoadOptions]
class geolib.models.dsheetpiling.dsheetpiling_model.WoodenSheetPileModelType(**data)
Parameters:

data (Any)

check_vertical_balance: Optional[bool]
elastic_calculation: bool
method: Optional[LateralEarthPressureMethod]
property model: ModelType
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'validate_assignment': True, 'validate_default': True}

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

verification: Optional[bool]
wooden_sheetpiling: bool