Skip to content

pile.py

subsurfaceio.functions.pile

Pile functions.

Classes:

Name Description
ReferenceFigureRegistry

Pre-instantiated reference figures

Functions:

Name Description
get_basic_influence_factor_i1__poulos1980pile

Calculation function.

get_effective_stress__usace1991design

Calculation function.

get_elasticity_modulus_bearing_ratio__poulos1980pile

Calculation function.

get_pile_friction_coefficient__api1975recommended

Calculation function.

get_pile_friction_coefficient__semple1984shaft

Calculation function.

get_pile_friction_coefficient__usace1991design

Calculation function.

get_pile_influence_factor_bearing__poulos1980pile

Calculation function.

get_pile_influence_factor_floating__poulos1980pile

Calculation function.

get_pile_length_to_diameter_ratio

Calculation function.

get_pile_length_to_soil_thickness_ratio

Calculation function.

get_pile_perimeter

Calculation function.

get_pile_settlement__poulos1980pile

Calculation function.

get_pile_settlement_correction_bearing__poulos1980pile

Calculation function.

get_pile_settlement_correction_compressibility__poulos1980pile

Calculation function.

get_pile_settlement_correction_depth__poulos1980pile

Calculation function.

get_pile_settlement_correction_poisson__poulos1980pile

Calculation function.

get_pile_shaft_resistance

Calculation function.

get_pile_shaft_resistance_inc

Calculation function.

get_pile_side_surface_area

Calculation function.

get_pile_stiffness_factor__poulos1980pile

Calculation function.

get_pile_tip_area

Calculation function.

get_pile_tip_resistance

Calculation function.

get_pile_tip_resistance__usace1991design

Calculation function.

get_pile_tip_resistance_cohesionless__usace1991design

Calculation function.

get_pile_tip_resistance_cohesive__usace1991design

Calculation function.

get_pile_ultimate_resistance

Calculation function.

get_unit_side_friction__usace1991design

Calculation function.

get_unit_side_friction_cohesionless__usace1991design

Calculation function.

get_unit_side_friction_cohesive__usace1991design

Calculation function.

ReferenceFigureRegistry

Pre-instantiated reference figures

get_basic_influence_factor_i1__poulos1980pile

get_basic_influence_factor_i1__poulos1980pile(
    pile_length_to_diameter_ratio,
)

Calculation function.

\[ \begin{array}{l} \mathbf{function} \ \mathrm{get\_basic\_influence\_factor\_i1\_\_poulos1980pile}(L/D) \\ \hspace{1em} I_1 \gets \mathrm{ReferenceFigureRegistry}.\mathrm{BasicInfluenceFactorI1}.\mathrm{interpolate\_at\_x} \mathopen{}\left( \mathclose{}\right) \\ \hspace{1em} \mathbf{return} \ I_1 \\ \mathbf{end \ function} \end{array} \]

Parameters:

Name Type Description Default
pile_length_to_diameter_ratio float

Ratio of pile embedment length to diameter

required

Returns:

Name Type Description
basic_influence_factor_i1 float

Pile settlement basic influence factor

get_effective_stress__usace1991design

get_effective_stress__usace1991design(
    depth, pile_critical_depth, effective_unit_weight
)

Calculation function.

\[ \begin{array}{l} \mathbf{function} \ \mathrm{get\_effective\_stress\_\_usace1991design}(z, \mathrm{pile\_critical\_depth}, γ') \\ \hspace{1em} \mathbf{if} \ \lnot \mathrm{np}.\mathrm{isnan} \mathopen{}\left( \mathrm{pile\_critical\_depth} \mathclose{}\right) \\ \hspace{2em} z \gets \mathrm{np}.\mathrm{clip} \mathopen{}\left( z, \mathrm{None}, \mathrm{pile\_critical\_depth} \mathclose{}\right) \\ \hspace{1em} \mathbf{end \ if} \\ \hspace{1em} H \gets \mathrm{get\_thickness} \mathopen{}\left( z \mathclose{}\right) \\ \hspace{1em} σ_v' \gets \mathrm{np}.\mathrm{cumsum} \mathopen{}\left( γ' \cdot H \mathclose{}\right) \\ \hspace{1em} \mathbf{return} \ σ_v' \\ \mathbf{end \ function} \end{array} \]

Parameters:

Name Type Description Default
depth float

Depth below ground surface to bottom of layer

required
pile_critical_depth float

Critical depth for pile analysis

required
effective_unit_weight float

Effective unit weight of soil

required

Returns:

Name Type Description
effective_stress float

Effective vertical stress in soil

get_elasticity_modulus_bearing_ratio__poulos1980pile

get_elasticity_modulus_bearing_ratio__poulos1980pile(
    elasticity_modulus, elasticity_modulus_bearing_soil
)

Calculation function.

\[ \begin{array}{l} \mathbf{function} \ \mathrm{get\_elasticity\_modulus\_bearing\_ratio\_\_poulos1980pile}(E_s, E_b) \\ \hspace{1em} E_b\ /\ E_s \gets \frac{E_b}{E_s} \\ \hspace{1em} \mathbf{return} \ E_b\ /\ E_s \\ \mathbf{end \ function} \end{array} \]

Parameters:

Name Type Description Default
elasticity_modulus float

Modulus of elasticity of soil

required
elasticity_modulus_bearing_soil float

Modulus of elasticity of bearing stratum below pile tip

required

Returns:

Name Type Description
elasticity_modulus_bearing_ratio float

Ratio of elasticity modulus of bearing soil to soil along pile shaft

get_pile_friction_coefficient__api1975recommended

get_pile_friction_coefficient__api1975recommended(
    undrained_shear_strength,
)

Calculation function.

\[ \begin{array}{l} \mathbf{function} \ \mathrm{get\_pile\_friction\_coefficient\_\_api1975recommended}(S_u) \\ \hspace{1em} α \gets \mathrm{ReferenceFigureRegistry}.\mathrm{PileFrictionCoefficientAPI1975}.\mathrm{interpolate\_at\_x} \mathopen{}\left( S_u \mathclose{}\right) \\ \hspace{1em} \mathbf{return} \ α \\ \mathbf{end \ function} \end{array} \]

Parameters:

Name Type Description Default
undrained_shear_strength float

Undrained shear strength of soil

required

Returns:

Name Type Description
pile_friction_coefficient float

Pile friction coefficient for shaft resistance

get_pile_friction_coefficient__semple1984shaft

get_pile_friction_coefficient__semple1984shaft(
    undrained_shear_strength,
    effective_stress,
    pile_embedment_length,
    pile_diameter,
)

Calculation function.

\[ \begin{array}{l} \mathbf{function} \ \mathrm{get\_pile\_friction\_coefficient\_\_semple1984shaft}(S_u, σ_v', L, D) \\ \hspace{1em} \mathrm{alpha1} \gets \mathrm{ReferenceFigureRegistry}.\mathrm{PileFrictionCoefficient1Semple1984}.\mathrm{interpolate\_at\_x} \mathopen{}\left( \frac{S_u}{σ_v'} \mathclose{}\right) \\ \hspace{1em} \mathrm{alpha2} \gets \mathrm{ReferenceFigureRegistry}.\mathrm{PileFrictionCoefficient1Semple1984}.\mathrm{interpolate\_at\_x} \mathopen{}\left( \frac{L}{D} \mathclose{}\right) \\ \hspace{1em} α \gets \mathrm{alpha1} \cdot \mathrm{alpha2} \\ \hspace{1em} \mathbf{return} \ α \\ \mathbf{end \ function} \end{array} \]

Parameters:

Name Type Description Default
undrained_shear_strength float

Undrained shear strength of soil

required
effective_stress float

Effective vertical stress in soil

required
pile_embedment_length float

Embedment length of pile

required
pile_diameter float

Outside diameter of pile

required

Returns:

Name Type Description
pile_friction_coefficient float

Pile friction coefficient for shaft resistance

get_pile_friction_coefficient__usace1991design

get_pile_friction_coefficient__usace1991design(
    is_long_pile=False,
    undrained_shear_strength=float("nan"),
    effective_stress=float("nan"),
    pile_embedment_length=float("nan"),
    pile_diameter=float("nan"),
)

Calculation function.

\[ \begin{array}{l} \mathbf{function} \ \mathrm{get\_pile\_friction\_coefficient\_\_usace1991design}(\mathrm{is\_long\_pile}, S_u, σ_v', L, D) \\ \hspace{1em} \mathbf{if} \ \mathrm{is\_long\_pile} \\ \hspace{2em} \mathbf{return} \ \mathrm{get\_pile\_friction\_coefficient\_\_semple1984shaft} \mathopen{}\left( S_u, σ_v', L, D \mathclose{}\right) \\ \hspace{1em} \mathbf{else} \\ \hspace{2em} \mathbf{return} \ \mathrm{get\_pile\_friction\_coefficient\_\_api1975recommended} \mathopen{}\left( S_u \mathclose{}\right) \\ \hspace{1em} \mathbf{end \ if} \\ \mathbf{end \ function} \end{array} \]

Parameters:

Name Type Description Default
is_long_pile bool

Indicates if pile is long

False
undrained_shear_strength float

Undrained shear strength of soil

float('nan')
effective_stress float

Effective vertical stress in soil

float('nan')
pile_embedment_length float

Embedment length of pile

float('nan')
pile_diameter float

Outside diameter of pile

float('nan')

Returns:

Name Type Description
pile_friction_coefficient float

Pile friction coefficient for shaft resistance

get_pile_influence_factor_bearing__poulos1980pile

get_pile_influence_factor_bearing__poulos1980pile(
    basic_influence_factor_i1,
    pile_settlement_correction_compressibility,
    pile_settlement_correction_bearing,
    pile_settlement_correction_poisson,
)

Calculation function.

\[ \begin{array}{l} \mathbf{function} \ \mathrm{get\_pile\_influence\_factor\_bearing\_\_poulos1980pile}(I_1, R_K, R_b, R_v) \\ \hspace{1em} I \gets I_1 \cdot R_K \cdot R_b \cdot R_v \\ \hspace{1em} \mathbf{return} \ I \\ \mathbf{end \ function} \end{array} \]

Parameters:

Name Type Description Default
basic_influence_factor_i1 float

Pile settlement basic influence factor

required
pile_settlement_correction_compressibility float

Correction factor for pile compressibility

required
pile_settlement_correction_bearing float

Correction factor for bearing stratum

required
pile_settlement_correction_poisson float

Correction factor for Poisson’s ratio

required

Returns:

Name Type Description
pile_influence_factor float

Influence factor for pile settlement

get_pile_influence_factor_floating__poulos1980pile

get_pile_influence_factor_floating__poulos1980pile(
    basic_influence_factor_i1,
    pile_settlement_correction_compressibility,
    pile_settlement_correction_depth,
    pile_settlement_correction_poisson,
)

Calculation function.

\[ \begin{array}{l} \mathbf{function} \ \mathrm{get\_pile\_influence\_factor\_floating\_\_poulos1980pile}(I_1, R_K, R_h, R_v) \\ \hspace{1em} I \gets I_1 \cdot R_K \cdot R_h \cdot R_v \\ \hspace{1em} \mathbf{return} \ I \\ \mathbf{end \ function} \end{array} \]

Parameters:

Name Type Description Default
basic_influence_factor_i1 float

Pile settlement basic influence factor

required
pile_settlement_correction_compressibility float

Correction factor for pile compressibility

required
pile_settlement_correction_depth float

Correction factor for pile layer depth

required
pile_settlement_correction_poisson float

Correction factor for Poisson’s ratio

required

Returns:

Name Type Description
pile_influence_factor float

Influence factor for pile settlement

get_pile_length_to_diameter_ratio

get_pile_length_to_diameter_ratio(
    pile_embedment_length, pile_diameter
)

Calculation function.

\[ \begin{array}{l} \mathbf{function} \ \mathrm{get\_pile\_length\_to\_diameter\_ratio}(L, D) \\ \hspace{1em} L/D \gets \frac{L}{D} \\ \hspace{1em} \mathbf{return} \ L/D \\ \mathbf{end \ function} \end{array} \]

Parameters:

Name Type Description Default
pile_embedment_length float

Embedment length of pile

required
pile_diameter float

Outside diameter of pile

required

Returns:

Name Type Description
pile_length_to_diameter_ratio float

Ratio of pile embedment length to diameter

get_pile_length_to_soil_thickness_ratio

get_pile_length_to_soil_thickness_ratio(
    pile_embedment_length, soil_thickness
)

Calculation function.

\[ \begin{array}{l} \mathbf{function} \ \mathrm{get\_pile\_length\_to\_soil\_thickness\_ratio}(L, h) \\ \hspace{1em} L/h \gets \frac{L}{h} \\ \hspace{1em} \mathbf{return} \ L/h \\ \mathbf{end \ function} \end{array} \]

Parameters:

Name Type Description Default
pile_embedment_length float

Embedment length of pile

required
soil_thickness float

Total thickness of soil layers above rigid layer

required

Returns:

Name Type Description
pile_length_to_soil_thickness_ratio float

Ratio of pile embedment length to soil layer depth

get_pile_perimeter

get_pile_perimeter(pile_shape, pile_diameter)

Calculation function.

\[ \begin{array}{l} \mathbf{function} \ \mathrm{get\_pile\_perimeter}(\mathrm{pile\_shape}, D) \\ \hspace{1em} P \gets \mathrm{None} \\ \hspace{1em} \mathbf{if} \ \mathrm{pile\_shape} = \textrm{"circle"} \\ \hspace{2em} P \gets \mathrm{np}.\pi \cdot D \\ \hspace{1em} \mathbf{else} \\ \hspace{2em} \mathbf{if} \ \mathrm{pile\_shape} = \textrm{"square"} \\ \hspace{3em} P \gets 4 D \\ \hspace{2em} \mathbf{end \ if} \\ \hspace{1em} \mathbf{end \ if} \\ \hspace{1em} \mathbf{return} \ P \\ \mathbf{end \ function} \end{array} \]

Parameters:

Name Type Description Default
pile_shape str

Shape of pile

required
pile_diameter float

Outside diameter of pile

required

Returns:

Name Type Description
pile_perimeter float

Perimeter of pile

get_pile_settlement__poulos1980pile

get_pile_settlement__poulos1980pile(
    pile_head_axial_load,
    pile_diameter,
    elasticity_modulus,
    pile_influence_factor,
)

Calculation function.

\[ \begin{array}{l} \mathbf{function} \ \mathrm{get\_pile\_settlement\_\_poulos1980pile}(P, D, E_s, I) \\ \hspace{1em} S \gets \frac{P}{D \cdot E_s} \cdot I \\ \hspace{1em} S \gets \frac{S}{10} \\ \hspace{1em} \mathbf{return} \ S \\ \mathbf{end \ function} \end{array} \]

Parameters:

Name Type Description Default
pile_head_axial_load float

Axial load at pile head

required
pile_diameter float

Outside diameter of pile

required
elasticity_modulus float

Modulus of elasticity of soil

required
pile_influence_factor float

Influence factor for pile settlement

required

Returns:

Name Type Description
pile_settlement float

Settlement of pile

get_pile_settlement_correction_bearing__poulos1980pile

get_pile_settlement_correction_bearing__poulos1980pile(
    elasticity_modulus_bearing_ratio,
    pile_length_to_diameter_ratio,
    pile_stiffness_factor,
)

Calculation function.

\[ \begin{array}{l} \mathbf{function} \ \mathrm{get\_pile\_settlement\_correction\_bearing\_\_poulos1980pile}(E_b\ /\ E_s, L/D, K) \\ \hspace{1em} \mathrm{ld\_nearest} \gets \mathrm{find\_nearest} \mathopen{}\left( \mathrm{list} \mathopen{}\left( \mathrm{ld\_reference\_figures\_map}.\mathrm{keys} \mathopen{}\left( \mathclose{}\right) \mathclose{}\right), L/D \mathclose{}\right) \\ \hspace{1em} \mathrm{bf} \gets \mathrm{ld\_reference\_figures\_map}_{\mathrm{ld\_nearest}} \\ \hspace{1em} R_b \gets \mathrm{bf}.\mathrm{interpolate\_at\_x} \mathopen{}\left( \mathclose{}\right) \\ \hspace{1em} \mathbf{return} \ R_b \\ \mathbf{end \ function} \end{array} \]

Parameters:

Name Type Description Default
elasticity_modulus_bearing_ratio float

Ratio of elasticity modulus of bearing soil to soil along pile shaft

required
pile_length_to_diameter_ratio float

Ratio of pile embedment length to diameter

required
pile_stiffness_factor float

Stiffness factor for pile

required

Returns:

Name Type Description
pile_settlement_correction_bearing float

Correction factor for bearing stratum

get_pile_settlement_correction_compressibility__poulos1980pile

get_pile_settlement_correction_compressibility__poulos1980pile(
    pile_stiffness_factor, pile_length_to_diameter_ratio
)

Calculation function.

\[ \begin{array}{l} \mathbf{function} \ \mathrm{get\_pile\_settlement\_correction\_compressibility\_\_poulos1980pile}(K, L/D) \\ \hspace{1em} R_K \gets \mathrm{ReferenceFigureRegistry}.\mathrm{PileSettlementCorrectionCompressibility}.\mathrm{interpolate\_at\_x} \mathopen{}\left( \mathclose{}\right) \\ \hspace{1em} \mathbf{return} \ R_K \\ \mathbf{end \ function} \end{array} \]

Parameters:

Name Type Description Default
pile_stiffness_factor float

Stiffness factor for pile

required
pile_length_to_diameter_ratio float

Ratio of pile embedment length to diameter

required

Returns:

Name Type Description
pile_settlement_correction_compressibility float

Correction factor for pile compressibility

get_pile_settlement_correction_depth__poulos1980pile

get_pile_settlement_correction_depth__poulos1980pile(
    pile_length_to_soil_thickness_ratio,
    pile_length_to_diameter_ratio,
)

Calculation function.

\[ \begin{array}{l} \mathbf{function} \ \mathrm{get\_pile\_settlement\_correction\_depth\_\_poulos1980pile}(L/h, L/D) \\ \hspace{1em} R_h \gets \mathrm{ReferenceFigureRegistry}.\mathrm{PileSettlementCorrectionDepth}.\mathrm{interpolate\_at\_x} \mathopen{}\left( \mathclose{}\right) \\ \hspace{1em} \mathbf{return} \ R_h \\ \mathbf{end \ function} \end{array} \]

Parameters:

Name Type Description Default
pile_length_to_soil_thickness_ratio float

Ratio of pile embedment length to soil layer depth

required
pile_length_to_diameter_ratio float

Ratio of pile embedment length to diameter

required

Returns:

Name Type Description
pile_settlement_correction_depth float

Correction factor for pile layer depth

get_pile_settlement_correction_poisson__poulos1980pile

get_pile_settlement_correction_poisson__poulos1980pile(
    poisson_ratio, pile_stiffness_factor
)

Calculation function.

\[ \begin{array}{l} \mathbf{function} \ \mathrm{get\_pile\_settlement\_correction\_poisson\_\_poulos1980pile}(ν, K) \\ \hspace{1em} R_v \gets \mathrm{ReferenceFigureRegistry}.\mathrm{PileSettlementCorrectionPoisson}.\mathrm{interpolate\_at\_x} \mathopen{}\left( \mathclose{}\right) \\ \hspace{1em} \mathbf{return} \ R_v \\ \mathbf{end \ function} \end{array} \]

Parameters:

Name Type Description Default
poisson_ratio float

Poisson’s ratio of soil

required
pile_stiffness_factor float

Stiffness factor for pile

required

Returns:

Name Type Description
pile_settlement_correction_poisson float

Correction factor for Poisson’s ratio

get_pile_shaft_resistance

get_pile_shaft_resistance(pile_shaft_resistance_inc)

Calculation function.

\[ \begin{array}{l} \mathbf{function} \ \mathrm{get\_pile\_shaft\_resistance}(Q_{s\ i}) \\ \hspace{1em} Q_s \gets \mathrm{np}.\mathrm{cumsum} \mathopen{}\left( Q_{s\ i} \mathclose{}\right) \\ \hspace{1em} \mathbf{return} \ Q_s \\ \mathbf{end \ function} \end{array} \]

Parameters:

Name Type Description Default
pile_shaft_resistance_inc float

Incremental shaft resistance of pile

required

Returns:

Name Type Description
pile_shaft_resistance float

Shaft resistance of pile

get_pile_shaft_resistance_inc

get_pile_shaft_resistance_inc(
    unit_side_friction, pile_side_surface_area
)

Calculation function.

\[ \begin{array}{l} \mathbf{function} \ \mathrm{get\_pile\_shaft\_resistance\_inc}(f_p, A_s) \\ \hspace{1em} Q_{s\ i} \gets f_p \cdot A_s \cdot 1000 \\ \hspace{1em} \mathbf{return} \ Q_{s\ i} \\ \mathbf{end \ function} \end{array} \]

Parameters:

Name Type Description Default
unit_side_friction float

Pile unit side friction

required
pile_side_surface_area float

Side surface area of pile

required

Returns:

Name Type Description
pile_shaft_resistance_inc float

Incremental shaft resistance of pile

get_pile_side_surface_area

get_pile_side_surface_area(thickness, pile_perimeter)

Calculation function.

\[ \begin{array}{l} \mathbf{function} \ \mathrm{get\_pile\_side\_surface\_area}(H, P) \\ \hspace{1em} A_s \gets H \cdot P \\ \hspace{1em} \mathbf{return} \ A_s \\ \mathbf{end \ function} \end{array} \]

Parameters:

Name Type Description Default
thickness float

Thickness of soil layer

required
pile_perimeter float

Perimeter of pile

required

Returns:

Name Type Description
pile_side_surface_area float

Side surface area of pile

get_pile_stiffness_factor__poulos1980pile

get_pile_stiffness_factor__poulos1980pile(
    pile_elasticity_modulus,
    elasticity_modulus,
    pile_area_ratio,
)

Calculation function.

\[ \begin{array}{l} \mathbf{function} \ \mathrm{get\_pile\_stiffness\_factor\_\_poulos1980pile}(E_p, E_s, R_A) \\ \hspace{1em} K \gets \frac{E_p \cdot R_A}{E_s} \\ \hspace{1em} \mathbf{return} \ K \\ \mathbf{end \ function} \end{array} \]

Parameters:

Name Type Description Default
pile_elasticity_modulus float

Young’s modulus of pile material

required
elasticity_modulus float

Modulus of elasticity of soil

required
pile_area_ratio float

Ratio of pile section area to total cross section area

required

Returns:

Name Type Description
pile_stiffness_factor float

Stiffness factor for pile

get_pile_tip_area

get_pile_tip_area(pile_shape, pile_diameter)

Calculation function.

\[ \begin{array}{l} \mathbf{function} \ \mathrm{get\_pile\_tip\_area}(\mathrm{pile\_shape}, D) \\ \hspace{1em} A_p \gets \mathrm{None} \\ \hspace{1em} \mathbf{if} \ \mathrm{pile\_shape} = \textrm{"circle"} \\ \hspace{2em} A_p \gets \mathrm{np}.\pi \cdot \mathopen{}\left( \frac{D}{2} \mathclose{}\right)^{2} \\ \hspace{1em} \mathbf{else} \\ \hspace{2em} \mathbf{if} \ \mathrm{pile\_shape} = \textrm{"square"} \\ \hspace{3em} A_p \gets D^{2} \\ \hspace{2em} \mathbf{end \ if} \\ \hspace{1em} \mathbf{end \ if} \\ \hspace{1em} \mathbf{return} \ A_p \\ \mathbf{end \ function} \end{array} \]

Parameters:

Name Type Description Default
pile_shape str

Shape of pile

required
pile_diameter float

Outside diameter of pile

required

Returns:

Name Type Description
pile_tip_area float

Tip area of pile

get_pile_tip_resistance

get_pile_tip_resistance(
    pile_unit_tip_resistance, pile_tip_area
)

Calculation function.

\[ \begin{array}{l} \mathbf{function} \ \mathrm{get\_pile\_tip\_resistance}(q_p, A_p) \\ \hspace{1em} Q_b \gets q_p \cdot A_p \cdot 1000 \\ \hspace{1em} \mathbf{return} \ Q_b \\ \mathbf{end \ function} \end{array} \]

Parameters:

Name Type Description Default
pile_unit_tip_resistance float

Unit tip resistance of pile

required
pile_tip_area float

Tip area of pile

required

Returns:

Name Type Description
pile_tip_resistance float

Tip resistance of pile

get_pile_tip_resistance__usace1991design

get_pile_tip_resistance__usace1991design(
    depth,
    averaging_diameter_factor,
    pile_diameter,
    depth_inc,
    soil_type,
    undrained_shear_strength=float("nan"),
    effective_stress=float("nan"),
    bearing_capacity_factor_surcharge=float("nan"),
    pile_tip_area=float("nan"),
)

Calculation function.

\[ \begin{array}{l} \mathbf{function} \ \mathrm{get\_pile\_tip\_resistance\_\_usace1991design}(z, \mathrm{averaging\_diameter\_factor}, D, \mathrm{depth\_inc}, \mathrm{soil\_type}, S_u, σ_v', N_q, A_p) \\ \hspace{1em} \mathrm{condition\_1} \gets \mathrm{soil\_type} = \textrm{"Clay"} \\ \hspace{1em} \mathrm{choice\_1} \gets \mathrm{get\_pile\_tip\_resistance\_cohesive\_\_usace1991design} \mathopen{}\left( S_u, A_p \mathclose{}\right) \\ \hspace{1em} \mathrm{condition\_2} \gets \mathrm{soil\_type} = \textrm{"Sand"} \\ \hspace{1em} \mathrm{choice\_2} \gets \mathrm{get\_pile\_tip\_resistance\_cohesionless\_\_usace1991design} \mathopen{}\left( σ_v', N_q, A_p \mathclose{}\right) \\ \hspace{1em} Q_b \gets \mathrm{np}.\mathrm{select} \mathopen{}\left( \mathopen{}\left[ \mathrm{condition\_1}, \mathrm{condition\_2} \mathclose{}\right], \mathopen{}\left[ \mathrm{choice\_1}, \mathrm{choice\_2} \mathclose{}\right] \mathclose{}\right) \\ \hspace{1em} \mathbf{if} \ \mathrm{averaging\_diameter\_factor} > 0 \\ \hspace{2em} Q_b \gets \mathrm{\_get\_average\_pile\_tip\_resistance} \mathopen{}\left( z, Q_b, \mathrm{averaging\_diameter\_factor}, D, \mathrm{depth\_inc} \mathclose{}\right) \\ \hspace{1em} \mathbf{end \ if} \\ \hspace{1em} \mathbf{return} \ Q_b \\ \mathbf{end \ function} \end{array} \]

Parameters:

Name Type Description Default
depth float

Depth below ground surface to bottom of layer

required
averaging_diameter_factor Any

averaging_diameter_factor

required
pile_diameter float

Outside diameter of pile

required
depth_inc Any

depth_inc

required
soil_type str

Primary soil type description

required
undrained_shear_strength float

Undrained shear strength of soil

float('nan')
effective_stress float

Effective vertical stress in soil

float('nan')
bearing_capacity_factor_surcharge float

Bearing capacity factor for surcharge

float('nan')
pile_tip_area float

Tip area of pile

float('nan')

Returns:

Name Type Description
pile_tip_resistance float

Tip resistance of pile

get_pile_tip_resistance_cohesionless__usace1991design

get_pile_tip_resistance_cohesionless__usace1991design(
    effective_stress,
    bearing_capacity_factor_surcharge,
    pile_tip_area,
)

Calculation function.

\[ \begin{array}{l} \mathbf{function} \ \mathrm{get\_pile\_tip\_resistance\_cohesionless\_\_usace1991design}(σ_v', N_q, A_p) \\ \hspace{1em} Q_b \gets σ_v' \cdot N_q \cdot A_p \\ \hspace{1em} \mathbf{return} \ Q_b \\ \mathbf{end \ function} \end{array} \]

Parameters:

Name Type Description Default
effective_stress float

Effective vertical stress in soil

required
bearing_capacity_factor_surcharge float

Bearing capacity factor for surcharge

required
pile_tip_area float

Tip area of pile

required

Returns:

Name Type Description
pile_tip_resistance float

Tip resistance of pile

get_pile_tip_resistance_cohesive__usace1991design

get_pile_tip_resistance_cohesive__usace1991design(
    undrained_shear_strength, pile_tip_area
)

Calculation function.

\[ \begin{array}{l} \mathbf{function} \ \mathrm{get\_pile\_tip\_resistance\_cohesive\_\_usace1991design}(S_u, A_p) \\ \hspace{1em} Q_b \gets S_u \cdot 9 A_p \\ \hspace{1em} \mathbf{return} \ Q_b \\ \mathbf{end \ function} \end{array} \]

Parameters:

Name Type Description Default
undrained_shear_strength float

Undrained shear strength of soil

required
pile_tip_area float

Tip area of pile

required

Returns:

Name Type Description
pile_tip_resistance float

Tip resistance of pile

get_pile_ultimate_resistance

get_pile_ultimate_resistance(
    pile_tip_resistance, pile_shaft_resistance
)

Calculation function.

\[ \begin{array}{l} \mathbf{function} \ \mathrm{get\_pile\_ultimate\_resistance}(Q_b, Q_s) \\ \hspace{1em} Q_{ult} \gets Q_b + Q_s \\ \hspace{1em} \mathbf{return} \ Q_{ult} \\ \mathbf{end \ function} \end{array} \]

Parameters:

Name Type Description Default
pile_tip_resistance float

Tip resistance of pile

required
pile_shaft_resistance float

Shaft resistance of pile

required

Returns:

Name Type Description
pile_ultimate_resistance float

Ultimate resistance of pile

get_unit_side_friction__usace1991design

get_unit_side_friction__usace1991design(
    depth,
    soil_type,
    undrained_shear_strength=float("nan"),
    pile_friction_coefficient=float("nan"),
    friction_angle=float("nan"),
    effective_stress=float("nan"),
    coefficient_of_earth_pressure_at_rest=float("nan"),
    unit_side_friction_limit=float("inf"),
    zero_friction_length=0.0,
)

Calculation function.

\[ \begin{array}{l} \mathbf{function} \ \mathrm{get\_unit\_side\_friction\_\_usace1991design}(z, \mathrm{soil\_type}, S_u, α, ϕ, σ_v', K_o, f_{p\ lim}, ZFL) \\ \hspace{1em} \mathrm{condition\_1} \gets \mathrm{soil\_type} = \textrm{"Clay"} \\ \hspace{1em} \mathrm{choice\_1} \gets \mathrm{get\_unit\_side\_friction\_cohesive\_\_usace1991design} \mathopen{}\left( S_u, α, f_{p\ lim} \mathclose{}\right) \\ \hspace{1em} \mathrm{condition\_2} \gets \mathrm{soil\_type} = \textrm{"Sand"} \\ \hspace{1em} \mathrm{choice\_2} \gets \mathrm{get\_unit\_side\_friction\_cohesionless\_\_usace1991design} \mathopen{}\left( ϕ, σ_v', K_o, f_{p\ lim} \mathclose{}\right) \\ \hspace{1em} f_p \gets \mathrm{np}.\mathrm{select} \mathopen{}\left( \mathopen{}\left[ \mathrm{condition\_1}, \mathrm{condition\_2} \mathclose{}\right], \mathopen{}\left[ \mathrm{choice\_1}, \mathrm{choice\_2} \mathclose{}\right] \mathclose{}\right) \\ \hspace{1em} \mathrm{np}.\mathrm{putmask} \mathopen{}\left( f_p, z \le ZFL, 0 \mathclose{}\right) \\ \hspace{1em} f_p \gets \frac{f_p}{1000} \\ \hspace{1em} \mathbf{return} \ f_p \\ \mathbf{end \ function} \end{array} \]

Parameters:

Name Type Description Default
depth float

Depth below ground surface to bottom of layer

required
soil_type str

Primary soil type description

required
undrained_shear_strength float

Undrained shear strength of soil

float('nan')
pile_friction_coefficient float

Pile friction coefficient for shaft resistance

float('nan')
friction_angle float

Friction angle of soil

float('nan')
effective_stress float

Effective vertical stress in soil

float('nan')
coefficient_of_earth_pressure_at_rest float

Coefficient of lateral earth pressure at rest

float('nan')
unit_side_friction_limit float

Limit for pile unit side friction

float('inf')
zero_friction_length float

Pile zero-friction length

0.0

Returns:

Name Type Description
unit_side_friction float

Pile unit side friction

get_unit_side_friction_cohesionless__usace1991design

get_unit_side_friction_cohesionless__usace1991design(
    friction_angle,
    effective_stress,
    coefficient_of_earth_pressure_at_rest,
    unit_side_friction_limit=float("inf"),
)

Calculation function.

\[ \begin{array}{l} \mathbf{function} \ \mathrm{get\_unit\_side\_friction\_cohesionless\_\_usace1991design}(ϕ, σ_v', K_o, f_{p\ lim}) \\ \hspace{1em} f_p \gets \mathrm{np}.\mathrm{clip} \mathopen{}\left( K_o \cdot σ_v' \cdot \mathrm{tandg} \mathopen{}\left( 0.95 ϕ \mathclose{}\right), \mathrm{None}, f_{p\ lim} \mathclose{}\right) \\ \hspace{1em} \mathbf{return} \ f_p \\ \mathbf{end \ function} \end{array} \]

Parameters:

Name Type Description Default
friction_angle float

Friction angle of soil

required
effective_stress float

Effective vertical stress in soil

required
coefficient_of_earth_pressure_at_rest float

Coefficient of lateral earth pressure at rest

required
unit_side_friction_limit float

Limit for pile unit side friction

float('inf')

Returns:

Name Type Description
unit_side_friction float

Pile unit side friction

get_unit_side_friction_cohesive__usace1991design

get_unit_side_friction_cohesive__usace1991design(
    undrained_shear_strength,
    pile_friction_coefficient,
    unit_side_friction_limit=float("inf"),
)

Calculation function.

\[ \begin{array}{l} \mathbf{function} \ \mathrm{get\_unit\_side\_friction\_cohesive\_\_usace1991design}(S_u, α, f_{p\ lim}) \\ \hspace{1em} f_p \gets \mathrm{np}.\mathrm{clip} \mathopen{}\left( S_u \cdot α, \mathrm{None}, f_{p\ lim} \mathclose{}\right) \\ \hspace{1em} \mathbf{return} \ f_p \\ \mathbf{end \ function} \end{array} \]

Parameters:

Name Type Description Default
undrained_shear_strength float

Undrained shear strength of soil

required
pile_friction_coefficient float

Pile friction coefficient for shaft resistance

required
unit_side_friction_limit float

Limit for pile unit side friction

float('inf')

Returns:

Name Type Description
unit_side_friction float

Pile unit side friction