Axial capacity calculations¶
- class groundhog.deepfoundations.axialcapacity.axcap.AxCapCalculation(soilprofile)[source]¶
- __init__(soilprofile)[source]¶
Sets up an axial capacity calculation by taking in a
SoilProfile
object. TheSoilProfile
object needs to have the columnsUnit skin friction
andUnit end bearing
specified.
- calculate_capacity_profile(circumference, base_area, internal_circumference=nan, annulus_area=nan, pile_weight_permeter=0, soilplug_weight_permeter=0)[source]¶
Calculates compression and tension capacity vs pile penetration. Due to the possible dependence of unit skin friction and unit end bearing on pile penetration (e.g. friction fatigue effects), The pile capacity profile is calculated for every nodal position (except 0m) and stored in a dataframe.
- Parameters:
circumference – Pile circumference [m].
base_area – Pile base area [m2]. Full end area used for plugged conditions.
internal_circumference – Internal pile circumference used when
plugged=False
annulus_area – Pile annular base area [m2]. Use annulus area for coring conditions.
pile_weight_permeter – Pile weight in [kN/m] used for plugged tension capacity (default = 0kN/m). This value is multiplied by the actual pile penetration to obtain the total pile weight at the considered penetration.
soilplug_weight_permeter – Soil plug weight in [kN/m] used for the plugged tension capacity (default = 0kN/m). This value is multiplied by the actual pile penetration to obtain the total soil plug weight at the considered penetration.
- calculate_pilecapacity(circumference, base_area, internal_circumference=nan, annulus_area=nan, pile_weight=0, soilplug_weight=0)[source]¶
Calculates the shaft friction of the pile by summing the unit shaft friction over all pile elements.
- The shaft friction can be calculated for the following modes:
Plugged compression (
plugged=True
andcompression=True
, default): Outside skin friction and end bearing over the full base area of the pilePlugged tension (
plugged=True
andcompression=False
): Outside skin friction in tension + weight of the pile material and/or internal soil plugCoring compression (
plugged=False
andcompression=True
): Outside skin friction + inside skin friction + annular end bearing.Coring tension: (
plugged=False
andcompression=False
) Outside skin friction in tension + inside skin friction in tension.
The pile circumference and base cross-sectional area need to be known. For coring conditions, the argument
internal_circumference
needs to be specified. For plugged conditionsbase_area
is the full end area, for coring conditions,annulus_area
is the steel annulus area.Because pile shapes and sizes may differ, the weight of the pile and/or internal soil plug is not calculated automatically but needs to be specified as
pile_weight
andsoilplug_weight
. Calculating these components with a separate calculation is straightforward.The total capacity for plugged and coring conditions is calculated. A simple plugging criterion is also included, which for compression assesses whether the end bearing on the internal pile area is greater than the inside shaft friction. If the shaft friction is greater than the internal end bearing, the pile should behave plugged. For tension, plugging is expected to occur when the internal shaft friction is greater than the soil plug weight.
\[ \begin{align}\begin{aligned}\begin{split}F_{s,outside} = \sum f_{s,out,i} \cdot \chi_{outside} \cdot \Delta z \\ \text{for compression and tension}\end{split}\\\begin{split}F_{s,inside} = \sum f_{s,in,i} \cdot \chi_{inside} \cdot \Delta z \\ \text{for compression and tension}\end{split}\\Q_{b,plugged} = A_{base,full} \cdot q_{b,plugged,base}\\Q_{b,coring} = A_{base,annulus} \cdot q_{b,coring,base}\\R_{plugged,compression} = F_{s,outside,compression} + Q_{b,plugged}\\R_{coring,compression} = F_{s,outside,compression} + F_{s,inside,compression} + Q_{b,coring}\\R_{plugged,tension} = F_{s,outside,tension} + W_{pile} + W_{\text{soil plug}}\\R_{coring,tension} = F_{s,outside, tension} + F_{s,inside,tension}\end{aligned}\end{align} \]- Parameters:
circumference – Pile circumference [m].
base_area – Pile base area [m2]. Full end area used for plugged conditions.
internal_circumference – Internal pile circumference used when
plugged=False
annulus_area – Pile annular base area [m2]. Use annulus area for coring conditions.
pile_weight – Pile weight in [kN] used for plugged tension capacity (default = 0kN)
soilplug_weight – Soil plug weight in [kN] used for the plugged tension capacity (default = 0kN)
The columns
'Fs compression outside [kN]', 'Fs compression inside [kN]', 'Fs tension outside [kN]', 'Fs tension inside [kN]', 'Qb plugged [kN]', 'Qb coring'
are added to theoutput
attribute.'Fs compression outside [kN]'
,'Fs compression inside [kN]'
,'Fs tension outside [kN]'
and'Fs tension inside [kN]'
are cumulative sums.'Qb plugged [kN]'
and'Qb coring'
are multiplied by the local value.
- calculate_unitendbearing(**kwargs)[source]¶
Calculates unit end bearing for the selected method and soil parameters. Note that not all parameter combinations will return valid outputs. Therefore a check is performed to see if the output contains NaN values.
The unit end bearing for plugged and coring conditions is returned in the
grid.elements
dataframe. The unit end bearing method used determines whether there are differences in these values.
- calculate_unitskinfriction(**kwargs)[source]¶
Calculates unit skin friction for the selected method and soil parameters. Note that not all parameter combinations will return valid outputs. Therefore a check is performed to see if the output contains NaN values.
The unit skin friction in compression and tension on the outside and inside (for tubulars) is returned in the
grid.elements
dataframe. The unit skin friction method used determines whether there are differences in these values.
- check_methods(raise_errors=False)[source]¶
Checks the given
SoilProfile
object for the presence of the required soil parameters. Errors are printed by default but error raising can also be requested by settingraise_errors=True
- create_grid(dz=1, **kwargs)[source]¶
Sets the
CalculationGrid
for the pile capacity calculation.A default node spacing of 1m is used but finer or coarser grids can be specified with the argument
dz
. Layer transitions not coinciding with the grid nodes are added as additional nodes by default.For additional options (
**kwargs
), check the documentation ofCalculationGrid
- plot_all_penetrations(return_fig=False, plot_title=None, fillcolordict={'CLAY': 'brown', 'SAND': 'yellow'})[source]¶
Plots shaft resistance, tip resistance and total pile resistance for all pile penetrations.
- plot_single_penetration(return_fig=False, plot_title=None, fillcolordict={'CLAY': 'brown', 'SAND': 'yellow'})[source]¶
Plots unit skin friction, unit end bearing, the integration of unit skin friction over the shaft and the value of end bearing at the tip
- set_pilepenetration(pile_penetration)[source]¶
Sets a certain pile penetration for calculation. A deep copy of the
grid.elements
attribute is created,output
which can be used for further calculation.The pile penetration is checked (needs to be above the maximum depth of the
SoilProfile
)- Parameters:
pile_penetration – Pile penetration below surface in meters
- Returns:
Sets the
output
attribute, a deep copy of thegrid.elements
attribute between surface (0m) and the selected pile penetration