Pipe-Soil Interaction Tools#
This module provides classes and functions for calculating the capacity of soils using various models for a given pipe and soil configuration.
Features:
The PSI class implements soil capacity calculations for different pipe and soil properties, supporting vectorized and model-based approaches.
Designed for use in subsea pipeline and riser engineering, but general enough for any pipe-soil interaction analysis.
All calculations are vectorized using NumPy for efficiency and flexibility.
- class refpy.pipe_soil_interaction_tools.PSI(*, total_outer_diameter=0.0, surface_roughness=None, density=0.0, surcharge_on_seabed=0.0, burial_depth=0.0)[source]#
Bases:
object
Class for calculating the capacity of soils using various models for a given pipe and soil configuration.
- Parameters:
diameter (float, optional) – Diameter of the pipe.
surface_roughness (str, optional) – Surface roughness of the pipe (‘Smooth’ or ‘Rough’).
density (float, optional) – Density of the soil.
surcharge_on_seabed (float, optional) – Stress or surcharge at the elevation of the seabed.
burial_depth (float, optional) – Depth of burial.
- downward_undrained_model1()[source]#
Calculate the vertical bearing capacity of soil using the downward undrained model.
- Returns:
depth_arrays (np.ndarray) – Array of depth arrays for each total_outer_diameter value.
vertical_bearing_capacity_arrays (np.ndarray) – Array of vertical bearing capacity arrays for each total_outer_diameter value.
Examples
>>> psi = PSI( ... total_outer_diameter=[0.2731], ... surface_roughness=['Smooth'], ... density=[1000.0], ... surcharge_on_seabed=[100], ... burial_depth=[1.0] ... ) >>> psi.downward_undrained_model1() (array([[0. , 0.005, ... 0.995, 1. ]]), array([[ 0. , 920.50185636, ... 7141.92857341, 7163.61163085]]))