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.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.MohrCoulombParameters(**data)¶
Mohr Coulomb parameters class
- Parameters
data (
Any) –
- cohesion: Optional[Union[float, geolib.soils.soil.StochasticParameter]]¶
- 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]¶
- 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.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]¶
- shear_strength_ratio: Optional[Union[float, geolib.soils.soil.StochasticParameter]]¶
- 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()¶