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]]))