Soils

Soil Libraries

It is possible to import various input files which will automatically generate Soil objects from them. Several pre-existing soil materials as used in D-Foundations based on the NEN 9997-1 norm are defined here as well. The Belgian Annex Soils will be added later.

Using Soil Library:

>>> import geolib as gl
>>> dir(gl.soils)
<Soil A with code a>, <Soil B with code b>

CPT interpretation

This package won’t interpret CPTs. This will follow in the GEOLib+ package. There is a geolib.soils.layers.CPT class however, to load from D-Foundations and DSheetPiling input files.

The Soil Class

class geolib.soils.soil.BjerrumParameters(**data)

Bjerrum parameters class

input_type_is_comp_ratio: [bool] is true when compression input mode is “compression ratio”, false when compression

input mode is “Compression index”

If input_type_is_comp_ratio is true, the following parameters are used as input:

reloading_swelling_RR compression_ratio_CR coef_secondary_compression_Ca

If input_type_is_comp_ratio is false, the following parameters are used as input:

reloading_swelling_index_Cr compression_index_Cc coef_secondary_compression_Ca

Parameters

data (Any) –

coef_secondary_compression_Ca: Optional[Union[float, geolib.soils.soil.StochasticParameter]]
compression_index_Cc: Optional[Union[float, geolib.soils.soil.StochasticParameter]]
compression_ratio_CR: Optional[Union[float, geolib.soils.soil.StochasticParameter]]
correlation_reload_primary_compression_ratio: Optional[float]
input_type_is_comp_ratio: Optional[bool]
primary_compression_index: Optional[Union[float, geolib.soils.soil.StochasticParameter]]
primary_compression_ratio: Optional[Union[float, geolib.soils.soil.StochasticParameter]]
reloading_index: Optional[Union[float, geolib.soils.soil.StochasticParameter]]
reloading_ratio: Optional[Union[float, geolib.soils.soil.StochasticParameter]]
reloading_swelling_RR: Optional[Union[float, geolib.soils.soil.StochasticParameter]]
reloading_swelling_index_Cr: Optional[Union[float, geolib.soils.soil.StochasticParameter]]
class geolib.soils.soil.ConeResistance(**data)

Cone resistance class

Parameters

data (Any) –

max_cone_resistance: Optional[float]
max_cone_resistance_type: Optional[enum.Enum]
class geolib.soils.soil.DistributionType(value)

An enumeration.

Deterministic = 4
LogNormal = 3
Normal = 2
Undefined = 0
class geolib.soils.soil.EarthPressureCoefficients(**data)
Parameters

data (Any) –

active: Optional[float]
earth_pressure_coefficients_type: Optional[geolib.soils.soil.EarthPressureCoefficientsType]
neutral: Optional[float]
passive: Optional[float]
class geolib.soils.soil.EarthPressureCoefficientsType(value)

An enumeration.

BRINCHHANSEN = 1
MANUAL = 0
class geolib.soils.soil.GrainType(value)

An enumeration.

COARSE = 1
FINE = 0
class geolib.soils.soil.HorizontalBehaviour(**data)

Horizontal behaviour class

Parameters

data (Any) –

horizontal_behavior_type: Optional[geolib.soils.soil.HorizontalBehaviourType]
soil_default_elasticity: Optional[bool]
soil_elasticity: Optional[float]
class geolib.soils.soil.HorizontalBehaviourType(value)

An enumeration.

Elastic = 2
Foundation = 3
Stiff = 1
class geolib.soils.soil.IsotacheParameters(**data)
Parameters

data (Any) –

precon_isotache_type: Optional[geolib.soils.soil.StateType]
primary_compression_constant_b: Optional[Union[float, geolib.soils.soil.StochasticParameter]]
reloading_swelling_constant_a: Optional[Union[float, geolib.soils.soil.StochasticParameter]]
secondary_compression_constant_c: Optional[Union[float, geolib.soils.soil.StochasticParameter]]
class geolib.soils.soil.KoppejanParameters(**data)
Parameters

data (Any) –

precon_koppejan_type: Optional[geolib.soils.soil.StateType]
preconsolidation_pressure: Optional[Union[float, geolib.soils.soil.StochasticParameter]]
primary_Ap: Optional[Union[float, geolib.soils.soil.StochasticParameter]]
primary_Asec: Optional[Union[float, geolib.soils.soil.StochasticParameter]]
primary_Cp: Optional[Union[float, geolib.soils.soil.StochasticParameter]]
primary_Cp_point: Optional[Union[float, geolib.soils.soil.StochasticParameter]]
secular_Cs: Optional[Union[float, geolib.soils.soil.StochasticParameter]]
secular_Cs_point: Optional[Union[float, geolib.soils.soil.StochasticParameter]]
soil_ap_as_approximation_by_Cp_Cs: Optional[bool]
class geolib.soils.soil.LambdaType(value)

An enumeration.

KOTTER = 2
MANUAL = 0
MULLERBRESLAU = 1
class geolib.soils.soil.ModulusSubgradeReaction(value)

An enumeration.

MANUAL = 1
MENARD = 0
class geolib.soils.soil.MohrCoulombParameters(**data)

Mohr Coulomb parameters class

Parameters

data (Any) –

cohesion: Optional[Union[float, geolib.soils.soil.StochasticParameter]]
cohesion_and_friction_angle_correlated: Optional[bool]
dilatancy_angle: Optional[Union[float, geolib.soils.soil.StochasticParameter]]
friction_angle: Optional[Union[float, geolib.soils.soil.StochasticParameter]]
friction_angle_interface: Optional[Union[float, geolib.soils.soil.StochasticParameter]]
class geolib.soils.soil.ShearStrengthModelTypePhreaticLevel(value)

Shear Strength Model Type. These types represent the shear strength model that can be found in the UI of the D-Stability program.

MOHR_COULOMB = 'Mohr_Coulomb'
NONE = 'None'
SHANSEP = 'SHANSEP'
SUTABLE = 'SuTable'
transform_shear_strength_model_type_to_internal()
class geolib.soils.soil.Soil(**data)

Soil Material.

Parameters

data (Any) –

bjerrum_parameters: Optional[geolib.soils.soil.BjerrumParameters]
code: Optional[str]
color: geolib.soils.soil_utils.Color
cone_resistance: Optional[geolib.soils.soil.ConeResistance]
earth_pressure_coefficients: Optional[geolib.soils.soil.EarthPressureCoefficients]
horizontal_behaviour: Optional[geolib.soils.soil.HorizontalBehaviour]
id: Optional[str]
is_drained: Optional[bool]
is_probabilistic: Optional[bool]
isotache_parameters: Optional[geolib.soils.soil.IsotacheParameters]
koppejan_parameters: Optional[geolib.soils.soil.KoppejanParameters]
mohr_coulomb_parameters: Optional[geolib.soils.soil.MohrCoulombParameters]
name: Optional[str]
set_all_stochastic_parameters()

Loop over all fields in soil class, and converts floats to stochastic parameters if necessary

Returns:

static set_stochastic_parameters(input_class)

Converts float to stochastic parameter, where the mean is set as the input float value :type input_class: object :param input_class:

Returns:

shear_strength_model_above_phreatic_level: Optional[geolib.soils.soil.ShearStrengthModelTypePhreaticLevel]
shear_strength_model_below_phreatic_level: Optional[geolib.soils.soil.ShearStrengthModelTypePhreaticLevel]
shell_factor: Optional[float]
soil_classification_parameters: Optional[geolib.soils.soil.SoilClassificationParameters]
soil_state: Optional[geolib.soils.soil.SoilState]
soil_stiffness_parameters: Optional[geolib.soils.soil.SoilStiffnessParameters]
soil_type_be: Optional[geolib.soils.soil.SoilType]
soil_type_nl: Optional[geolib.soils.soil.SoilType]
soil_type_settlement_by_vibrations: Optional[geolib.soils.soil.SoilType]
soil_weight_parameters: Optional[geolib.soils.soil.SoilWeightParameters]
storage_parameters: Optional[geolib.soils.soil.StorageParameters]
subgrade_reaction_parameters: Optional[geolib.soils.soil.SubgradeReactionParameters]
undrained_parameters: Optional[geolib.soils.soil.UndrainedParameters]
use_probabilistic_defaults: Optional[bool]
use_tension: Optional[bool]
class geolib.soils.soil.SoilBaseModel(**data)
Parameters

data (Any) –

classmethod fail_on_infinite(v, values, field)
class geolib.soils.soil.SoilClassificationParameters(**data)

Soil classification class

Parameters

data (Any) –

d_50: Optional[float]
grain_type: Optional[geolib.soils.soil.GrainType]
initial_void_ratio: Optional[Union[float, geolib.soils.soil.StochasticParameter]]
max_void_ratio: Optional[float]
min_void_ratio: Optional[float]
porosity: Optional[Union[float, geolib.soils.soil.StochasticParameter]]
relative_density: Optional[float]
class geolib.soils.soil.SoilState(**data)
Parameters

data (Any) –

equivalent_age: Optional[float]
ocr_layer: Optional[Union[float, geolib.soils.soil.StochasticParameter]]
pop_layer: Optional[Union[float, geolib.soils.soil.StochasticParameter]]
state_lines: Optional[geolib.soils.soil.StateLine]
state_points: Optional[geolib.soils.soil.StatePoint]
use_equivalent_age: Optional[bool]
yield_stress_layer: Optional[Union[float, geolib.soils.soil.StochasticParameter]]
class geolib.soils.soil.SoilStiffnessParameters(**data)
Parameters

data (Any) –

emod_menard: Optional[float]
class geolib.soils.soil.SoilType(value)

An enumeration.

CLAY = 3
GRAVEL = 0
LOAM = 2
PEAT = 4
SAND = 1
SANDY_LOAM = 5
class geolib.soils.soil.SoilWeightParameters(**data)
Parameters

data (Any) –

saturated_weight: Optional[Union[float, geolib.soils.soil.StochasticParameter]]
unsaturated_weight: Optional[Union[float, geolib.soils.soil.StochasticParameter]]
class geolib.soils.soil.StateLine(**data)

TODO Decide if we want to keep state in soil class TODO decide if we want cross-dependency to geometry class

Parameters

data (Any) –

state_line_points: Optional[List[geolib.geometry.one.Point]]
class geolib.soils.soil.StatePoint(**data)
Parameters

data (Any) –

state_layer_id: Optional[str]
state_point_id: Optional[str]
state_point_is_probabilistic: Optional[bool]
state_point_type: Optional[geolib.soils.soil.StateType]
class geolib.soils.soil.StateType(value)

An enumeration.

OCR = 'OCR'
POP = 'POP'
YIELD_STRESS = 'yield_stress'
class geolib.soils.soil.StochasticParameter(**data)

Stochastic parameters class

Parameters

data (Any) –

correlation_coefficient: Optional[float]
distribution_type: Optional[geolib.soils.soil.DistributionType]
high_characteristic_value: Optional[float]
high_design_value: Optional[float]
is_probabilistic: bool
low_characteristic_value: Optional[float]
low_design_value: Optional[float]
mean: Optional[float]
standard_deviation: Optional[float]
class geolib.soils.soil.StorageParameters(**data)

In this case vertical_permeability has a unit of [m/day]. In GUI of the D-Settlement this value is displayed as [m/s].

Parameters

data (Any) –

horizontal_permeability: Optional[Union[float, geolib.soils.soil.StochasticParameter]]
permeability_horizontal_factor: Optional[Union[float, geolib.soils.soil.StochasticParameter]]
permeability_strain_type: Optional[Union[float, geolib.soils.soil.StochasticParameter]]
storage_type: Optional[geolib.soils.soil.StorageTypes]
vertical_consolidation_coefficient: Optional[Union[float, geolib.soils.soil.StochasticParameter]]
vertical_permeability: Optional[Union[float, geolib.soils.soil.StochasticParameter]]
class geolib.soils.soil.StorageTypes(value)

An enumeration.

constant_permeability = 1
strain_dependent_permeability = 2
vertical_consolidation_coefficient = 0
class geolib.soils.soil.SuTablePoint(**data)
Parameters

data (Any) –

stress: float
su: float
class geolib.soils.soil.SubgradeReactionParameters(**data)
Parameters

data (Any) –

k_1_bottom: Optional[float]
k_1_bottom_side: Optional[float]
k_1_top: Optional[float]
k_1_top_side: Optional[float]
k_2_bottom: Optional[float]
k_2_bottom_side: Optional[float]
k_2_top: Optional[float]
k_2_top_side: Optional[float]
k_3_bottom: Optional[float]
k_3_bottom_side: Optional[float]
k_3_top: Optional[float]
k_3_top_side: Optional[float]
k_4_bottom: Optional[float]
k_4_top: Optional[float]
k_o_bottom: Optional[float]
k_o_top: Optional[float]
lambda_type: Optional[geolib.soils.soil.LambdaType]
modulus_subgrade_reaction_type: Optional[geolib.soils.soil.ModulusSubgradeReaction]
tangent_secant_1: Optional[float]
tangent_secant_2: Optional[float]
tangent_secant_3: Optional[float]
class geolib.soils.soil.UndrainedParameters(**data)

Undrained shear strength parameters class. This class includes the SU Table and SHANSEP model variables included in D-Stability.

Parameters

data (Any) –

probabilistic_su_table: Optional[bool]
s_and_m_correlated: Optional[bool]
shear_strength_ratio: Optional[Union[float, geolib.soils.soil.StochasticParameter]]
shear_strength_ratio_and_shear_strength_exponent_correlated: Optional[bool]
strength_increase_exponent: Optional[Union[float, geolib.soils.soil.StochasticParameter]]
su_table: Optional[List[geolib.soils.soil.SuTablePoint]]
su_table_variation_coefficient: Optional[float]
to_su_table_points()
undrained_shear_strength: Optional[float]
undrained_shear_strength_bearing_capacity_factor: Optional[float]
undrained_shear_strength_bottom: Optional[float]
undrained_shear_strength_top: Optional[float]
class geolib.soils.soil_utils.Color(value)

Color type from Pydantic

see https://pydantic-docs.helpmanual.io/usage/types/#color-type

Example

For construction:

Color("ff00ff")  # hex value
Color((255, 255, 255))  # rgb tuple
Color("purple")  # named
Parameters

value (Union[Tuple[int, int, int], Tuple[int, int, int, float], str]) –

classmethod from_internal(c)

Convert a D-Serie color integer into a Color.

Parameters

c (int) –

class geolib.models.dstability.internal.ShearStrengthModelTypePhreaticLevelInternal(value)

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

C_PHI = 'CPhi'
NONE = 'None'
SU = 'Su'
SUTABLE = 'SuTable'
to_global_shear_strength_model()