FoundationDesign Reference

Pad Foundation Analysis

class FoundationDesign.PadFoundation(foundation_length: float, foundation_width: float, column_length: float, column_width: float, col_pos_xdir: float, col_pos_ydir: float, soil_bearing_capacity=150)

Represents a rectangular or square pad foundation that can take permanent,variable and wind loads.

This class serves as the main class that helps analyse the foundation to get the forces needed to design the foundation against.

Attributes

uls_strength_factor_permanentint or float, default 1.35

Strength factor that is used to estimate permanent loads at ultimate limit state. This value is according to the STR combination. In this code, the equation to estimate uls loads has been taken according to (Exp. (6.10)) of the Eurocode 1. To access better economy in design,this attribute can be changed and set according to equations (6.10a) or (6.10b) from the Eurocode.

uls_strength_factor_imposedint or float, default 1.5

Strength factor that is used to estimate imposed loads at ultimate limit state. This value is according to the STR combination. In this code, the equation to estimate uls loads has been taken according to (Exp. (6.10)) of the Eurocode 1.To access better economy in design,this attribute can be changed and set according to equations (6.10a) or (6.10b) from the Eurocode.

uls_strength_factor_imposed_unfavourableint or float, default 0

Strength factor that is used to estimate unfavourable imposed loads at ultimate limit state for example wind loads. This value is according to the STR combination. In this code, the equation to estimate uls loads has been taken according to (Exp. (6.10)) of the Eurocode 1.To access better economy in design, this attribute can be changed and set according to equations (6.10a) or (6.10b) from the Eurocode.

Methods

area_of_foundation()

Calculates the area of the foundation.

plot_geometry()

Plots the geometry of the foundation, showing the column position relative to the pad base.

foundation_loads(foundation_thickness=300, soil_depth_abv_foundation=700, soil_unit_weight=18, concrete_unit_weight=24)

Calculates the total load on the foundation due to surcharge loads and self weight of the pad base itself.

column_axial_loads(permanent_axial_load=0, imposed_axial_load=0, wind_axial_load=0)

Accepts the columnn axial loads the foundation is being subjected to.Inform of permanent,imposed and wind axial loads.

column_horizontal_loads_xdir(permanent_horizontal_load_xdir=0, imposed_horizontal_load_xdir=0, wind_horizontal_load_xdir=0)

Accepts the column horizontal loads along the X direction. This comprises of permanent,imposed and wind horizontal loads.

column_horizontal_loads_ydir(permanent_horizontal_load_ydir=0, imposed_horizontal_load_ydir=0, wind_horizontal_load_ydir=0)

Accepts the column horizontal loads along the Y direction. This comprises of permanent,imposed and wind horizontal loads.

column_moments_xdir(permanent_moment_xdir=0, imposed_moment_xdir=0, wind_moments_xdir=0):

Accepts the column moments along the X direction. This comprises of permanent,imposed and wind moments

column_moments_ydir(permanent_moment_ydir=0, imposed_moment_ydir=0, wind_moments_ydir=0):

Accepts the column moments along the X direction. This comprises of permanent,imposed and wind moments

total_force_X_dir_sls()

Calculates the total force on the foundation in the x direction using the serviceability limit state combination.

total_force_Y_dir_sls()

Calculates the total force on the foundation in the y direction using the serviceability limit state combination.

total_force_Z_dir_sls()

Calculates the total force on the foundation in the z direction using the serviceability limit state combination.

total_moments_X_direction_sls()

Calculates the total moments on the foundation in the X direction using the serviceability limit state combination.

total_moments_Y_direction_sls()

Calculates the total moments on the foundation in the Y direction using the serviceability limit state combination.

eccentricity_X_direction_sls()

Calculates the foundation eccentricity in the X direction using the serviceability limit state combination.

eccentricity_Y_direction_sls()

Calculates the foundation eccentricity in the Y direction using the serviceability limit state combination.

pad_base_pressures_sls()

Calculates the pad foundation pressures at the four corners of the foundation using the serviceability limit state combination.

bearing_pressure_check_sls()

Checks that calculated foundation pressure does not exceed the allowable bearing pressure supplied at serviceability limit state.

plot_base_pressures_sls()

Plots the foundation pressures at each corners of the foundation using the serviceability limit state combination.

total_force_X_dir_uls()

Calculates the total force on the foundation in the x direction using the ultimate limit state combination.

total_force_Y_dir_uls()

Calculates the total force on the foundation in the y direction using the ultimate limit state combination.

total_force_Z_dir_uls()

Calculates the total force on the foundation in the z direction using the ultimate limit state combination.

total_moments_X_direction_uls()

Calculates the total moments on the foundation in the X direction using the ultimate limit state combination.

total_moments_Y_direction_uls()

Calculates the total moments on the foundation in the Y direction using the ultimate limit state combination.

eccentricity_X_direction_uls()

Calculates the foundation eccentricity in the X direction using the ultimate limit state combination.

eccentricity_Y_direction_uls()

Calculates the foundation eccentricity in the Y direction using the ultimate limit state combination.

pad_base_pressures_uls()

Calculates the pad foundation pressures at the four corners of the foundation using the ultimate limit state combination.

base_pressure_rate_of_change_X()

Calculates the rate of change of the base pressure at each meter of the foundation length using Ultimate Limit State combination.

base_pressure_rate_of_change_Y()

Calculates the rate of change of the base pressure at each meter of the foundation width using Ultimate Limit State combination.

FoundationDesign.PadFoundation.__init__(self, foundation_length: float, foundation_width: float, column_length: float, column_width: float, col_pos_xdir: float, col_pos_ydir: float, soil_bearing_capacity=150)

Initializes a pad foundation object.

Parameters

foundation_lengthfloat

Length of the foundation. The length of the foundation is along the x axis (default unit mm). Must be positive and should not be less than 800mm

foundation_widthfloat

Width of the foundation. The width of the foundation is along the y axis (default unit mm). Must be positive and should not be less than 800mm

column_lengthfloat

Length of the column. The length of the column is along the x axis (default unit mm). Must be positive and should not be less than 100mm

column_widthfloat

Width of the column. The width of the column is along the y axis (default unit mm). Must be positive and should not be less than 100mm

col_pos_xdirfloat

The position of the column along the length of the foundation in the x axis. This is used to model eccentric foundations i.e a situation where the column is not placed centrally on the foundation. If the column is at the centre of the foundation then this value should be equal to the foundation length divided by two. Else the distance should be specified. (default unit mm). This value should not be greater than the foundation length.

col_pos_ydirfloat

The position of the column along the width of the foundation in the y axis. This is used to model eccentric foundations i.e a situation where the column is not placed centrally on the foundation. If the column is at the centre of the foundation then this value should be equal to the foundation width divided by two. Else the distance should be specified. (default unit mm). This value should not be greater than the foundation width.

soil_bearing_capacityfloat, default 150

Represents the presumed bearing capacity of the foundation.(default unit kN/m2) The assumption here is that previous geotechnical calculations must have been done to ascertain the soil bearing capacity.

FoundationDesign.PadFoundation.area_of_foundation(self) float

Calculates the area of the foundation.

Returns

float

The area of the foundation in m^2.

FoundationDesign.PadFoundation.plot_geometry(self, show_plot=True)

Plots the geometry of the foundation, showing the column position relative to the pad base

FoundationDesign.PadFoundation.foundation_loads(self, foundation_thickness: float = 300, soil_depth_abv_foundation: float = 500, soil_unit_weight: float = 18, concrete_unit_weight: float = 24)

Calculates the foundation self weight which includes the soil weight above the foundation in order terms surchage loads and also the self weight of the concrete base

Parameters

foundation_thicknessfloat

Represents the depth of the foundation. (default unit mm). The default value is 300mm

soil_depth_abv_foundationfloat, default 500

Represents the depth of soil above the foundation is added to the self weight of the footing to arrive at the foundation own loads.(default unit mm). The default value is 500mm, If this value should not be included in the calculations, then this parameter should be explicitly set to zero

soil_unit_weight_soilfloat, default 18

The default unit weight of the soil is 18kN/mm^3. (default unit kN/mm^3).

concrete_unit_weightfloat, default 24

The default unit weight of the concrete is 24kN/mm^3 (default unit kN/mm^3).

Returns

list

self weight : float soil weight : float

FoundationDesign.PadFoundation.column_axial_loads(self, permanent_axial_load=0, imposed_axial_load=0, wind_axial_load=0)

Accepts the columnn axial loads the foundation is being subjected to.Inform of permanent,imposed and wind axial loads.

Parameters

permanent_axial_loadfloat, default 0

Represents the permanent axial load. Downward forces are positive. Negative for uplift. (default unit = kN).

imposed_axial_loadfloat, default 0

Represents the imposed axial load. Downward forces are positive. Negative for uplift. (default unit = kN).

wind_axial_loadfloat, default 0

Represents the wind axial load. Downward forces are positive. Negative for uplift. (default unit = kN).

FoundationDesign.PadFoundation.column_horizontal_loads_xdir(self, permanent_horizontal_load_xdir=0, imposed_horizontal_load_xdir=0, wind_horizontal_load_xdir=0)

Accepts the column horizontal loads along the X direction. This comprises of permanent, imposed and wind horizontal loads.

Parameters

permanent_horizontal_load_xdirfloat, default 0

Represents permanent horizontal loads acting in the x direction at the base of the column. Positive loads act from left to right while negative loads loads act from right to left. (default unit = kN)

imposed_horizontal_load_xdirfloat, default 0

Represents imposed horizontal loads acting in the x direction at the base of the column. Positive loads act from left to right while negative loads loads act from right to left. (default unit = kN)

wind_horizontal_load_xdirfloat, default 0

Represents wind horizontal loads acting in the x direction at the base of the column. Positive loads act from left to right while negative loads loads act from right to left. (default unit = kN)

FoundationDesign.PadFoundation.column_horizontal_loads_ydir(self, permanent_horizontal_load_ydir=0, imposed_horizontal_load_ydir=0, wind_horizontal_load_ydir=0)

Accepts the column horizontal loads along the Y direction. This comprises of permanent, imposed and wind horizontal loads.

Parameters

permanent_horizontal_load_ydirfloat, default 0

Represents permanent horizontal loads acting in the y direction at the base of the column. Positive loads act from bottom to top while negative loads loads act from top to bottom. (default unit = kN)

imposed_horizontal_load_ydirfloat, default 0

Represents imposed horizontal loads acting in the y direction at the base of the column. Positive loads act from bottom to top while negative loads loads act from top to bottom. (default unit = kN)

wind_horizontal_load_ydirfloat, default 0

Represents wind horizontal loads acting in the y direction at the base of the column. Positive loads act from bottom to top while negative loads loads act from top to bottom. (default unit = kN)

FoundationDesign.PadFoundation.column_moments_xdir(self, permanent_moment_xdir=0, imposed_moment_xdir=0, wind_moments_xdir=0)

Accepts the column moments along the X direction. This comprises of permanent,imposed and wind moments

Parameters

permanent_moment_xdirfloat, default 0

Represents permanent moments in the x direction acting about the y axis. Positive moments act from left to right while negative moments acts from right to left (default unit = kNm).

imposed_moment_xdirfloat, default 0

Represents imposed moments in the x direction acting about the y axis. Positive moments act from left to right while negative moments acts from right to left (default unit = kNm).

wind_moment_xdirfloat, default 0

Represents wind moments in the x direction acting about the y axis. Positive moments act from left to right while negative moments acts from right to left (default unit = kNm).

FoundationDesign.PadFoundation.column_moments_ydir(self, permanent_moment_ydir=0, imposed_moment_ydir=0, wind_moments_ydir=0)

Accepts the column moments along the Y direction. This comprises of permanent,imposed and wind moments

Parameters

permanent_moment_xdirfloat, default 0

Represents permanent moments in the y axis direction acting about the x axis. Positive moments act from bottom to top while negative moments acts from top to bottom (default unit = kNm).

imposed_moment_xdirfloat, default 0

Represents imposed moments in the y direction acting about the x axis. Positive moments act from bottom to top while negative moments acts from top to bottom (default unit = kNm).

wind_moment_xdirfloat, default 0

Represents wind moments in the y direction acting about the x axis. Positive moments act from bottom to top while negative moments acts from top to bottom (default unit = kNm).

FoundationDesign.PadFoundation.total_force_X_dir_sls(self)

Calculates the total force on the foundation in the x direction using the serviceability limit state combination of 1.0gk + 1.0qk + 1.0wk

Returns

float

sum of permanent,imposed and wind horizontal loads in x direction in kN

FoundationDesign.PadFoundation.total_force_Y_dir_sls(self)

Calculates the total force on the foundation in the y direction using the serviceability limit state combination of 1.0gk + 1.0qk + 1.0wk

Returns

float

sum of permanent,imposed and wind horizontal loads in y direction in kN

FoundationDesign.PadFoundation.total_force_Z_dir_sls(self)

Calculates the total axial force at serviceability limit states of 1.0gk + 1.0qk + 1.0wk. The foundation loads are converted to kN and added to the total axial loads from permanent,imposed and wind loads.

Returns

float

sum of permanent,imposed and wind axial loads including foundation loads in kN

FoundationDesign.PadFoundation.total_moments_X_direction_sls(self)

Calculates the total moments on the foundation in the X direction using the serviceability limit state combination.

Returns

float

total moments on the foundation in kNm.

FoundationDesign.PadFoundation.total_moments_Y_direction_sls(self)

Calculates the total moments on the foundation in the Y direction using the serviceability limit state combination.

Returns

float

total moments on the foundation in kNm.

FoundationDesign.PadFoundation.eccentricity_X_direction_sls(self)

Calculates the foundation eccentricity in the X direction using the serviceability limit state combination.

Returns

float

the eccentricity of the foundation in x direction units are in mm.

FoundationDesign.PadFoundation.eccentricity_Y_direction_sls(self)

Calculates the foundation eccentricity in the Y direction using the serviceability limit state combination.

Returns

float

the eccentricity of the foundation in y direction units are in mm.

FoundationDesign.PadFoundation.pad_base_pressures_sls(self)

Calculates the pad foundation pressures at the four corners of the foundation using the serviceability limit state combination.

Returns

q1float

base pressure at sls located at the bottom left corner of the pad foundation in kN/m2

q2float

base pressure at sls located at the top left corner of the pad foundation in kN/m2

q3float

base pressure at sls located at the bottom right corner of the pad foundation in kN/m2

q4float

base pressure at sls located at the top right corner of the pad foundation in kN/m2

FoundationDesign.PadFoundation.bearing_pressure_check_sls(self)

Checks that calculated foundation pressure does not exceed the allowable bearing pressure supplied at serviceability limit state.

Returns

string

status of the foundation indicating pass or fail.

FoundationDesign.PadFoundation.plot_base_pressures_sls(self, show_plot=True)

Plots the foundation pressures at each corners of the foundation using the serviceability limit state combination.

FoundationDesign.PadFoundation.total_force_X_dir_uls(self)

Calculates the total force on the foundation in the x direction using the ultimate limit state combination of 1.35gk + 1.5qk + 0wk.

Returns

float

sum of permanent,imposed and wind horizontal loads in x direction in kN

FoundationDesign.PadFoundation.total_force_Y_dir_uls(self)

Calculates the total force on the foundation in the y direction using the ultimate limit state combination of 1.35gk + 1.5qk + 0wk.

Returns

float

sum of permanent,imposed and wind horizontal loads in y direction in kN

FoundationDesign.PadFoundation.total_force_Z_dir_uls(self)

Calculates the total axial force at ultimate limit states of 1.35gk + 1.5qk + 0wk The foundation loads are converted to kN and added to the total axial loads from permanent,imposed and wind loads.

Returns

float

sum of permanent,imposed and wind axial loads including foundation loads in kN

FoundationDesign.PadFoundation.total_moments_X_direction_uls(self)

Calculates the total moments on the foundation in the X direction using the ultimate limit state combination.

Returns

float

total moments on the foundation in kNm.

FoundationDesign.PadFoundation.total_moments_Y_direction_uls(self)

Calculates the total moments on the foundation in the Y direction using the ultimate limit state combination.

Returns

float

total moments on the foundation in kNm.

FoundationDesign.PadFoundation.eccentricity_X_direction_uls(self)

Calculates the foundation eccentricity in the X direction using the ultimate limit state combination.

Returns

float

the eccentricity of the foundation in x direction units are in mm.

FoundationDesign.PadFoundation.eccentricity_Y_direction_uls(self)

Calculates the foundation eccentricity in the Y direction using the ultimate limit state combination.

Returns

float

the eccentricity of the foundation in y direction units are in mm.

FoundationDesign.PadFoundation.pad_base_pressures_uls(self)

Calculates the pad foundation pressures at the four corners of the foundation using the ultimate limit state combination.

Returns

q1float

base pressure at sls located at the bottom left corner of the pad foundation in kN/m2

q2float

base pressure at sls located at the top left corner of the pad foundation in kN/m2

q3float

base pressure at sls located at the bottom right corner of the pad foundation in kN/m2

q4float

base pressure at sls located at the top right corner of the pad foundation in kN/m2

FoundationDesign.PadFoundation.base_pressure_rate_of_change_X(self)

Calculates the rate of change of the base pressure at each meter of the foundation length using Ultimate Limit State combination.This would be used for analysing the shear and bending moment diagram along X direction.

Returns

left_hand_base_reactionfloat

The base reaction at the left hand side of the foundation along x direction in kN/m

right_hand_base_reactionfloat

The base reaction at the right hand side of the foundation along x direction in kN/m

FoundationDesign.PadFoundation.base_pressure_rate_of_change_Y(self)

Calculates the rate of change of the base pressure at each meter of the foundation length using Ultimate Limit State combination.This would be used for analysing the shear and bending moment diagram along X direction.

Returns

bottom_edge_base_reactionfloat

The base reaction at the bottom edge of the foundation along y direction in kN/m

top_edge_base_reactionfloat

The base reaction at the top edge of the foundation along y direction in kN/m

Pad Foundation Design

class FoundationDesign.padFoundationDesign(PadFoundation, fck: float = 25, fyk: float = 460, concrete_cover: float = 30, bar_diameterX: int = 16, bar_diameterY: int = 16)

Auxiliary class that inherits from the padfoundation class. This class helps to design the foundation. The main class should be created before this design class can be called.

Methods

__loading_diagrams_X_dir()

Creates an analysis model for the foundation that would then be analysed to get the design forces along the x direction.

__loading_diagrams_Y_dir()

Creates an analysis model for the foundation that would then be analysed to get the design forces along the y direction.

plot_foundation_loading_X()

Shows the load acting on the foundation in the X direction this consists of the soil loads and concrete own load acting as a udl over the foundation length and a soil pressure acting underneath the foundation along the foundation length

plot_foundation_loading_Y()

Shows the load acting on the foundation in the Y direction this consists of the soil loads and concrete own load acting as a udl over the foundation length and a soil pressure acting underneath the foundation along the foundation width

plot_bending_moment_X()

Plots the foundation bending moment diagram along X direction showing the design moment at the face of the column

plot_bending_moment_Y()

Plots the foundation bending moment diagram along Y direction showing the design moment at the face of the column

plot_shear_force_X()

Plots the foundation shear force diagram along X direction showing the design shear force at a distance 1d from the column face

plot_shear_force_Y()

Plots the foundation shear force diagram along Y direction showing the design shear force at a distance 1d from the column face

get_design_moment_X()

Outputs the design bending moments of the foundation along the x direction at the face of the column

get_design_moment_Y()

Outputs the design bending moments of the foundation along the y direction at the face of the column

get_design_shear_force_X()

Outputs the design shear force of the foundation, at a distance 1D from the face of the column along the X direction

get_design_shear_force_Y()

Outputs the design shear force of the foundation, at a distance 1D from the face of the column along the Y direction

area_of_steel_reqd_X_dir()

Calculates the area of steel required along the x direction of the foundation

__reinforcement_calculations_X_dir()

Calculatesthe reinforcements to be provided along the x direction of the foundation

reinforcement_provision_flexure_X_dir ()

Calculates the area of steel to be provided along the x direction of the foundation

area_of_steel_reqd_Y_dir()

Calculates the area of steel required along the y direction of the foundation

__reinforcement_calculations_Y_dir()

Calculates the reinforcements to be provided along the y direction of the foundation

reinforcement_provision_flexure_Y_dir ()

Calculates the area of steel to be provided along the y direction of the foundation

tranverse_shear_check_Xdir()

Checks the adequacy of the shear stress at a distance equal to d from the column face along the X direction

tranverse_shear_check_Ydir()

Checks the adequacy of the shear stress at a distance equal to d from the column face along the Y direction

__punching_shear()

Calculates Maximum shear resistance and design punching shear resistance at critical locations

update_punching_shear_stress_factor()

Updates the punching shear stress factor as per guidelines in clause 6.4.3(6) of the eurocode 2

punching_shear_column_face()

Calculates the punching shear at the column face and check for its adequacy

punching_shear_check_1d()

Calculates the unching shear at a distance 1d from the column face and check for its adequacy

punching_shear_check_2d()

Calculates the punching shear at a distance 2d from the column face and check for its adequacy

FoundationDesign.padFoundationDesign.__init__(self, PadFoundation, fck: float = 25, fyk: float = 460, concrete_cover: float = 30, bar_diameterX: int = 16, bar_diameterY: int = 16)

Auxilliary class that initializes pad foundation object for design

Parameters

Padfoundationclass

Main class for pad foundation analysis

fckfloat, default - 25

Characteristic compressive cylinder strength in N/mm2. Accepted range of values [16,20,25,30,32,35,37,40,45,55]

fykfloat, default - 460

Characteristic yield strength of reinforcement in N/mm2

concrete_coverfloat, default - 30

Nominal cover to foundation in mm

bar_diameterXint, default - 16

Assumed bar diameter of the foundation in the x direction in mm. Accepted range of values [8,10,12,16,20,25,32,40]

bar_diameterYint, default - 16

Assumed bar diameter of the foundation in the y direction in mm Accepted range of values [8,10,12,16,20,25,32,40]

FoundationDesign.padFoundationDesign.__loading_diagrams_X_dir(self)

Creates an analysis model for the foundation that would then be analysed to get the design forces along the x direction.

Returns

Object

foundation loading diagram in the x direction wrapped around the beam class of the IndeterminateBeam package.

FoundationDesign.padFoundationDesign.__loading_diagrams_Y_dir(self)

Creates an analysis model for the foundation that would then be analysed to get the design forces along the y direction.

Returns

Object

foundation loading diagram in the y direction wrapped around the beam class of the IndeterminateBeam package.

FoundationDesign.padFoundationDesign.plot_foundation_loading_X(self, show_plot=True)

Shows the load acting on the foundation in the X direction this consists of the soil loads and concrete own load acting as a udl over the foundation length and a soil pressure acting underneath the foundation along the foundation length.

FoundationDesign.padFoundationDesign.plot_foundation_loading_Y(self, show_plot=True)

Shows the load acting on the foundation in the Y direction this consists of the soil loads and concrete own load acting as a udl over the foundation width and a soil pressure acting underneath the foundation along the foundation width.

FoundationDesign.padFoundationDesign.plot_bending_moment_X(self, show_plot=True)

Plots the foundation bending moment diagram along X direction showing the design moment at the face of the column.

FoundationDesign.padFoundationDesign.plot_bending_moment_Y(self, show_plot=True)

Plot the foundation bending moment diagram along Y direction showing the design moment at the face of the column

FoundationDesign.padFoundationDesign.plot_shear_force_X(self, show_plot=True)

Plots the foundation shear force diagram along X direction showing the design shear force at a distance 1d from the column face.

FoundationDesign.padFoundationDesign.plot_shear_force_Y(self, show_plot=True)

Plots the foundation shear force diagram along Y direction showing the design shear force at a distance 1d from the column face.

FoundationDesign.padFoundationDesign.get_design_moment_X(self)

Outputs the design bending moments of the foundation along the x direction at the face of the column.

Returns

float

design bending moment in x direction (default unit - kNm)

FoundationDesign.padFoundationDesign.get_design_moment_Y(self)

Outputs the design bending moments of the foundation along the y direction at the face of the column.

Returns

float

design bending moment in x direction (default unit - kNm)

FoundationDesign.padFoundationDesign.get_design_shear_force_X(self)

Outputs the design shear force of the foundation, at a distance 1D from the face of the column along the X direction.

Returns

float

design shear force in x direction (default unit - kN)

FoundationDesign.padFoundationDesign.get_design_shear_force_Y(self)

Outputs the design shear force of the foundation, at a distance 1D from the face of the column along the Y direction.

Returns

float

design shear force in y direction (default unit - kN)

FoundationDesign.padFoundationDesign.area_of_steel_reqd_X_dir(self)

Calculates the area of steel required along the x direction of the foundation

Returns

float

area of steel required in the x direction. (default unit mm2/m)

FoundationDesign.padFoundationDesign.__reinforcement_calculations_X_dir(self)

Calculates the reinforcements to be provided along the x direction of the foundation

Returns

list

Reinforcement provision, steel diameter, steel class, area provided.

FoundationDesign.padFoundationDesign.reinforcement_provision_flexure_X_dir(self, area_of_steel_provided=None)

Calculates the area of steel to be provided along the x direction of the foundation

Returns

string

Formatted string showing steel diameter, steel class, spacing and area provided.

FoundationDesign.padFoundationDesign.area_of_steel_reqd_Y_dir(self)

Calculates the area of steel required along the y direction of the foundation

Returns

float

area of steel required in the y direction. (default unit mm2/m)

FoundationDesign.padFoundationDesign.__reinforcement_calculations_Y_dir(self)

Calculates the reinforcements to be provided along the y direction of the foundation

Returns

list

Reinforcement provision, steel diameter, steel class, area provided.

FoundationDesign.padFoundationDesign.reinforcement_provision_flexure_Y_dir(self, area_of_steel_provided=None)

Calculates the area of steel to be provided along the y direction of the foundation

Returns

string

Formatted string showing steel diameter, steel class, spacing and area provided.

FoundationDesign.padFoundationDesign.tranverse_shear_check_Xdir(self)

Checks the adequacy of the shear stress at a distance equal to d from the column face along the X direction

Returns

string

formatted string showing the Design shear resistance and design shear force for the x direction.

FoundationDesign.padFoundationDesign.tranverse_shear_check_Ydir(self)

Checks the adequacy of the shear stress at a distance equal to d from the column face along the Y direction.

Returns

string

formatted string showing the Design shear resistance and design shear force for the Y direction.

FoundationDesign.padFoundationDesign.__punching_shear(self)

Calculates Maximum shear resistance and design punching shear resistance at critical locations.

Returns

vrd_maxfloat

Maximum punching shear resistance according to cl.6.4.5(3) of the Eurocode 2 in N/mm2

vrd_cfloat

Design punching shear resistance according to exp.6.47 of the Eurocode 2 in N/mm2

vrd_c_1dfloat

Design punching shear resistance at 1d according to exp.6.50 of the Eurocode 2 in N/mm2

FoundationDesign.padFoundationDesign.update_punching_shear_stress_factor(self, beta: float = 0)

Updates the punching shear stress factor as per guidelines in clause 6.4.3(6) of the eurocode 2

Parameter

betafloat, default - 0

Punching shear stress factor according to (fig 6.21N). This is used to override the program’s calculated punching shear stress factor. if not called beta is calculated using description in expression 6.51 of the design code.

Returns

float

value for punching stress factor

FoundationDesign.padFoundationDesign.punching_shear_column_face(self)

Calculates the punching shear at the column face and check for its adequacy.

Return

string

maximum punching shear resistance in N/mm2 and design punching shear stress in N/mm2

FoundationDesign.padFoundationDesign.punching_shear_check_1d(self)

Calculates the punching shear at a distance 1d from the column face and check for its adequacy.

Return

string

maximum punching shear resistance in N/mm2 and design punching shear stress in N/mm2

FoundationDesign.padFoundationDesign.punching_shear_check_2d(self)

Calculates the punching shear at a distance 2d from the column face and check for its adequacy.

Return

string

maximum punching shear resistance in N/mm2 and design punching shear stress in N/mm2

Combined Pad Foundation Analysis

class FoundationDesign.CombinedFootingAnalysis(foundation_length: float, foundation_width: float, soil_bearing_capacity: float = 150, spacing_btwn_columns: float = 1500)

Represents a rectangular or square pad foundation that can take permanent,variable and wind loads.

This class serves as the main class that helps analyse the foundation to get the forces needed to design the foundation against.

Attributes

uls_strength_factor_permanentint or float, default 1.35

Strength factor that is used to estimate permanent loads at ultimate limit state. This value is according to the STR combination. In this code, the equation to estimate uls loads has been taken according to (Exp. (6.10)) of the Eurocode 1. To access better economy in design, this attribute can be changed and set according to equations (6.10a) or (6.10b) from the Eurocode.

uls_strength_factor_imposedint or float, default 1.5

Strength factor that is used to estimate imposed loads at ultimate limit state. This value is according to the STR combination. In this code, the equation to estimate uls loads has been taken according to (Exp. (6.10)) of the Eurocode 1.To access better economy in design,this attribute can be changed and set according to equations (6.10a) or (6.10b) from the Eurocode.

uls_strength_factor_imposed_unfavourableint or float, default 0

Strength factor that is used to estimate unfavourable imposed loads at ultimate limit state for example wind loads. This value is according to the STR combination. In this code, the equation to estimate uls loads has been taken according to (Exp. (6.10)) of the Eurocode 1.To access better economy in design, this attribute can be changed and set according to equations (6.10a) or (6.10b) from the Eurocode.

FoundationDesign.CombinedFootingAnalysis.__init__(self, foundation_length: float, foundation_width: float, soil_bearing_capacity: float = 150, spacing_btwn_columns: float = 1500)

Initializes a combined footing foundation object.

Parameters

foundation_lengthfloat

Length of the foundation. The length of the foundation is along the x axis (default unit mm). Must be positive and should not be less than 800mm.

foundation_widthfloat

Width of the foundation. The width of the foundation is along the y axis (default unit mm). Must be positive and should not be less than 800mm.

soil_bearing_capacityfloat, optional

Represents the presumed bearing capacity of the foundation. (default unit kN/m2) The assumption here is that previous geotechnical calculations must have been done to ascertain the soil bearing capacity.

spacing_btwn_columnsfloat, optional

Represents the distance between the two columns along the x directions, by default 1500mm.

FoundationDesign.CombinedFootingAnalysis.update_column_1_geometry(self, column_length: float, column_width: float, col_pos_xdir: float, col_pos_ydir: float)

Updates the geometry of the first column.

Parameters

column_lengthfloat

Length of the column. The length of the column is along the x axis (default unit mm). Must be positive and should not be less than 100mm.

column_widthfloat

Width of the column. The width of the column is along the y axis (default unit mm). Must be positive and should not be less than 100mm.

col_pos_xdirfloat

The position of the column along the length of the foundation in the x axis. This is used to model eccentric foundations i.e a situation where the column is not placed centrally on the foundation. If the column is at the centre of the foundation then this value should be equal to the foundation length divided by two. Else the distance should be specified. (default unit mm). This value should not be greater than the foundation length.

col_pos_ydirfloat

The position of the column along the width of the foundation in the y axis. This is used to model eccentric foundations i.e a situation where the column is not placed centrally on the foundation. If the column is at the centre of the foundation then this value should be equal to the foundation width divided by two. Else the distance should be specified. (default unit mm). This value should not be greater than the foundation width.

FoundationDesign.CombinedFootingAnalysis.update_column_2_geometry(self, column_length: float, column_width: float, col_pos_xdir: float, col_pos_ydir: float)

Updates the geometry of the second column.

Parameters

column_lengthfloat

Length of the column. The length of the column is along the x axis (default unit mm). Must be positive and should not be less than 100mm

column_widthfloat

Width of the column. The width of the column is along the y axis (default unit mm). Must be positive and should not be less than 100mm

col_pos_xdirfloat

The position of the column along the length of the foundation in the x axis. This is used to model eccentric foundations i.e a situation where the column is not placed centrally on the foundation. If the column is at the centre of the foundation then this value should be equal to the foundation length divided by two. Else the distance should be specified. (default unit mm). This value should not be greater than the foundation length.

col_pos_ydirfloat

The position of the column along the width of the foundation in the y axis. This is used to model eccentric foundations i.e a situation where the column is not placed centrally on the foundation. If the column is at the centre of the foundation then this value should be equal to the foundation width divided by two. Else the distance should be specified. (default unit mm). This value should not be greater than the foundation width.

FoundationDesign.CombinedFootingAnalysis.update_column_1_axial_loads(self, permanent_axial_load: float = 0, imposed_axial_load: float = 0, wind_axial_load: float = 0)

Updates the axial loads for the first column including permanent, imposed and wind axial loads.

Parameters

permanent_axial_loadfloat, optional

Represents the permanent axial load. Downward forces are positive. Negative for uplift. (default unit = kN)., by default 0kN

imposed_axial_loadfloat, optional

Represents the imposed axial load. Downward forces are positive. Negative for uplift. (default unit = kN), by default 0kN

wind_axial_loadfloat, optional

Represents the wind axial load. Downward forces are positive. Negative for uplift. (default unit = kN), by default 0kN

FoundationDesign.CombinedFootingAnalysis.update_column_1_horizontal_loads_xdir(self, permanent_horizontal_load_xdir: float = 0, imposed_horizontal_load_xdir: float = 0, wind_horizontal_load_xdir: float = 0)

Updates the column horizontal loads for the first column along the X direction. This comprises of permanent,imposed and wind horizontal loads.

Parameters

permanent_horizontal_load_xdirfloat, optional

Represents permanent horizontal loads acting in the x direction at the base of the column.Positive loads act from left to right while negative loads loads act from right to left.(default unit = kN), by default 0

imposed_horizontal_load_xdirfloat, optional

Represents imposed horizontal loads acting in the x direction at the base of the column.Positive loads act from left to right while negative loads loads act from right to left.(default unit = kN), by default 0

wind_horizontal_load_xdirfloat, optional

Represents wind horizontal loads acting in the x direction at the base of the column. Positive loads act from left to right while negative loads loads act from right to left.(default unit = kN), by default 0

FoundationDesign.CombinedFootingAnalysis.update_column_1_horizontal_loads_ydir(self, permanent_horizontal_load_ydir: float = 0, imposed_horizontal_load_ydir: float = 0, wind_horizontal_load_ydir: float = 0)

Updates the column horizontal loads for the first column along the Y direction. This comprises of permanent,imposed and wind horizontal loads.

Parameters

permanent_horizontal_load_ydirfloat, optional

Represents permanent horizontal loads acting in the y direction at the base of the column. Positive loads act from bottom to top while negative loads loads act from top to bottom. (default unit = kN), by default 0

imposed_horizontal_load_ydirfloat, optional

Represents imposed horizontal loads acting in the y direction at the base of the column. Positive loads act from bottom to top while negative loads loads act from top to bottom. (default unit = kN), by default 0

wind_horizontal_load_ydirfloat, optional

Represents wind horizontal loads acting in the y direction at the base of the column. Positive loads act from bottom to top while negative loads loads act from top to bottom. (default unit = kN), by default 0

FoundationDesign.CombinedFootingAnalysis.update_column_1_moments_xdir(self, permanent_moment_xdir: float = 0, imposed_moment_xdir: float = 0, wind_moments_xdir: float = 0)

Updates the first column moments along the X direction. This comprises of permanent, imposed and wind moments

Parameters

permanent_moment_xdirfloat, optional

Represents permanent moments in the x direction acting about the y axis. Positive moments act from left to right while negative moments acts from right to left (default unit = kNm), by default 0

imposed_moment_xdirfloat, optional

Represents imposed moments in the x direction acting about the y axis. Positive moments act from left to right while negative moments acts from right to left (default unit = kNm), by default 0

wind_moments_xdirfloat, optional

Represents wind moments in the x direction acting about the y axis. Positive moments act from left to right while negative moments acts from right to left (default unit = kNm), by default 0

FoundationDesign.CombinedFootingAnalysis.update_column_1_moments_ydir(self, permanent_moment_ydir: float = 0, imposed_moment_ydir: float = 0, wind_moments_ydir: float = 0)

Updates the column moments along the Y direction. This comprises of permanent,imposed and wind moments for the first column.

Parameters

permanent_moment_ydirfloat, optional

Represents permanent moments in the y axis direction acting about the x axis. Positive moments act from bottom to top while negative moments acts from top to bottom (default unit = kNm)., by default 0

imposed_moment_ydirfloat, optional

Represents imposed moments in the y direction acting about the x axis. Positive moments act from bottom to top while negative moments acts from top to bottom (default unit = kNm), by default 0

wind_moments_ydirfloat, optional

Represents wind moments in the y direction acting about the x axis. Positive moments act from bottom to top while negative moments acts from top to bottom (default unit = kNm), by default 0

FoundationDesign.CombinedFootingAnalysis.update_column_2_axial_loads(self, permanent_axial_load: float = 0, imposed_axial_load: float = 0, wind_axial_load: float = 0)

Updates the axial loads for the second column including permanent, imposed and wind axial loads.

Parameters

permanent_axial_loadfloat, optional

Represents the permanent axial load. Downward forces are positive. Negative for uplift. (default unit = kN)., by default 0kN

imposed_axial_loadfloat, optional

Represents the imposed axial load. Downward forces are positive. Negative for uplift. (default unit = kN), by default 0kN

wind_axial_loadfloat, optional

Represents the wind axial load. Downward forces are positive. Negative for uplift. (default unit = kN), by default 0kN

FoundationDesign.CombinedFootingAnalysis.update_column_2_horizontal_loads_xdir(self, permanent_horizontal_load_xdir: float = 0, imposed_horizontal_load_xdir: float = 0, wind_horizontal_load_xdir: float = 0)

Updates the column horizontal loads for the second column along the X direction. This comprises of permanent, imposed and wind horizontal loads.

Parameters

permanent_horizontal_load_xdirfloat, optional

Represents permanent horizontal loads acting in the x direction at the base of the column. Positive loads act from left to right while negative loads loads act from right to left. (default unit = kN), by default 0

imposed_horizontal_load_xdirfloat, optional

Represents imposed horizontal loads acting in the x direction at the base of the column. Positive loads act from left to right while negative loads loads act from right to left. (default unit = kN), by default 0

wind_horizontal_load_xdirfloat, optional

Represents wind horizontal loads acting in the x direction at the base of the column. Positive loads act from left to right while negative loads loads act from right to left. (default unit = kN), by default 0

FoundationDesign.CombinedFootingAnalysis.update_column_2_horizontal_loads_ydir(self, permanent_horizontal_load_ydir: float = 0, imposed_horizontal_load_ydir: float = 0, wind_horizontal_load_ydir: float = 0)

Updates the column horizontal loads for the second column along the Y direction. This comprises of permanent,imposed and wind horizontal loads.

Parameters

permanent_horizontal_load_ydirfloat, optional

Represents permanent horizontal loads acting in the y direction at the base of the column. Positive loads act from bottom to top while negative loads loads act from top to bottom. (default unit = kN), by default 0

imposed_horizontal_load_ydirfloat, optional

Represents imposed horizontal loads acting in the y direction at the base of the column. Positive loads act from bottom to top while negative loads loads act from top to bottom. (default unit = kN), by default 0

wind_horizontal_load_ydirfloat, optional

Represents wind horizontal loads acting in the y direction at the base of the column. Positive loads act from bottom to top while negative loads loads act from top to bottom. (default unit = kN), by default 0

FoundationDesign.CombinedFootingAnalysis.update_column_2_moments_xdir(self, permanent_moment_xdir: float = 0, imposed_moment_xdir: float = 0, wind_moments_xdir: float = 0)

Updatess the second column moments along the X direction. This comprises of permanent, imposed and wind moments

Parameters

permanent_moment_xdirfloat, optional

Represents permanent moments in the x direction acting about the y axis. Positive moments act from left to right while negative moments acts from right to left (default unit = kNm), by default 0

imposed_moment_xdirfloat, optional

Represents imposed moments in the x direction acting about the y axis. Positive moments act from left to right while negative moments acts from right to left (default unit = kNm), by default 0

wind_moments_xdirfloat, optional

Represents wind moments in the x direction acting about the y axis. Positive moments act from left to right while negative moments acts from right to left (default unit = kNm), by default 0

FoundationDesign.CombinedFootingAnalysis.update_column_2_moments_ydir(self, permanent_moment_ydir: float = 0, imposed_moment_ydir: float = 0, wind_moments_ydir: float = 0)

Updates the column moments along the Y direction. This comprises of permanent,imposed and wind moments for the second column.

Parameters

permanent_moment_ydirfloat, optional

Represents permanent moments in the y axis direction acting about the x axis. Positive moments act from bottom to top while negative moments acts from top to bottom (default unit = kNm)., by default 0

imposed_moment_ydirfloat, optional

Represents imposed moments in the y direction acting about the x axis. Positive moments act from bottom to top while negative moments acts from top to bottom (default unit = kNm), by default 0

wind_moments_ydirfloat, optional

Represents wind moments in the y direction acting about the x axis. Positive moments act from bottom to top while negative moments acts from top to bottom (default unit = kNm), by default 0

FoundationDesign.CombinedFootingAnalysis.foundation_loads(self, foundation_thickness: float = 300, soil_depth_abv_foundation: float = 500, soil_unit_weight: float = 18, concrete_unit_weight: float = 24, consider_self_weight: bool = True)

Calculates the foundation self weight which includes the soil weight above the foundation in order terms surchage loads and also the self weight of the concrete base.

Parameters

foundation_thicknessfloat, optional

Represents the depth of the foundation. (default unit mm), by default 300mm

soil_depth_abv_foundationfloat, optional

Represents the depth of soil above the foundation is added to the self weight of the footing to arrive at the foundation own loads.(default unit mm). The default value is 500mm, If this value should not be included in the calculations, then this parameter should be explicitly set to zero, by default 500mm

soil_unit_weightfloat, optional

The default unit weight of the soil is 18kN/mm^3. (default unit kN/mm^3).

concrete_unit_weightfloat, optional

The default unit weight of the concrete is 24kN/mm^3 (default unit kN/mm^3).

consider_self_weightBool, optional

If True, self weight would be added if False, self weight wont be considered

Returns

list

self weight : float soil weight : float

FoundationDesign.CombinedFootingAnalysis.area_of_foundation(self)

Calculates the area of the foundation.

Returns

float

The area of the foundation in m^2.

FoundationDesign.CombinedFootingAnalysis.total_force_X_dir_sls(self)

Calculates the total force on the foundation in the x direction using the serviceability limit state combination of 1.0gk + 1.0qk + 1.0wk

Returns

float

sum of permanent,imposed and wind horizontal loads in x direction in kN

FoundationDesign.CombinedFootingAnalysis.total_force_Y_dir_sls(self)

Calculates the total force on the foundation in the y direction using the serviceability limit state combination of 1.0gk + 1.0qk + 1.0wk

Returns

float

sum of permanent,imposed and wind horizontal loads in y direction in kN

FoundationDesign.CombinedFootingAnalysis.total_force_Z_dir_sls(self)

Calculates the total axial force at serviceability limit states of 1.0gk + 1.0qk + 1.0wk. The foundation loads are converted to kN and added to the total axial loads from permanent, imposed and wind loads.

Returns

float

sum of permanent,imposed and wind axial loads including foundation loads in kN

FoundationDesign.CombinedFootingAnalysis.total_force_Y_dir_sls(self)

Calculates the total force on the foundation in the y direction using the serviceability limit state combination of 1.0gk + 1.0qk + 1.0wk

Returns

float

sum of permanent,imposed and wind horizontal loads in y direction in kN

FoundationDesign.CombinedFootingAnalysis.total_force_Z_dir_sls(self)

Calculates the total axial force at serviceability limit states of 1.0gk + 1.0qk + 1.0wk. The foundation loads are converted to kN and added to the total axial loads from permanent, imposed and wind loads.

Returns

float

sum of permanent,imposed and wind axial loads including foundation loads in kN

FoundationDesign.CombinedFootingAnalysis.total_moments_X_direction_sls(self)

Calculates the total moments on the foundation in the X direction using the serviceability limit state combination.

Returns

float

total moments on the foundation in kNm.

FoundationDesign.CombinedFootingAnalysis.total_moments_Y_direction_sls(self)

Calculates the total moments on the foundation in the Y direction using the serviceability limit state combination.

Returns

float

total moments on the foundation in kNm.

FoundationDesign.CombinedFootingAnalysis.eccentricity_X_direction_sls(self)

Calculates the foundation eccentricity in the X direction using the serviceability limit state combination.

Returns

float

the eccentricity of the foundation in x direction units are in mm.

FoundationDesign.CombinedFootingAnalysis.eccentricity_Y_direction_sls(self)

Calculates the foundation eccentricity in the Y direction using the serviceability limit state combination.

Returns

float

the eccentricity of the foundation in y direction units are in mm.

FoundationDesign.CombinedFootingAnalysis.pad_base_pressures_sls(self)

Calculates the combined footing foundation pressures at the four corners of the foundation using the serviceability limit state combination.

Returns

q1float

base pressure at sls located at the bottom left corner of the pad foundation in kN/m2

q2float

base pressure at sls located at the top left corner of the pad foundation in kN/m2

q3float

base pressure at sls located at the bottom right corner of the pad foundation in kN/m2

q4float

base pressure at sls located at the top right corner of the pad foundation in kN/m2

FoundationDesign.CombinedFootingAnalysis.bearing_pressure_check_sls(self)

Checks that calculated foundation pressure does not exceed the allowable bearing pressure supplied at serviceability limit state.

Returns

string

status of the foundation indicating pass or fail.

FoundationDesign.CombinedFootingAnalysis.minimum_area_required_wt_moment(self)

Calculates the minimum area of base required taking into account the moments imposed on the foundation. Should be used as a rough estimate not a definitive guide.

Returns

float

Minimum Area required in m2.

FoundationDesign.CombinedFootingAnalysis.minimum_area_required(self)

Calculates the minimuma area required for the foundation without considering imposed moments.

Returns

float

Minimum area in m2.

FoundationDesign.CombinedFootingAnalysis.foundation_geometry_optimizer(self)

Calculates the optimal foundation based on the inputed loads. This is an attempt to help the user reduce the amount of design base pressure by suggesting the best possible geometry. The user can choose to accept or reject this suggestion.

Returns

Col_1_pos_xdirfloat

The best distance for the first column based on the inputed length along x direction.

Col_2_pos_xdirfloat

The best distance for the second column based on the inputed length along x direction.

Col_y

The best distance for the second column based on the inputed length along y direction.

FoundationDesign.CombinedFootingAnalysis.plot_optimized_geometry(self, show_plot=True)

Plots the optimized geometry.

Returns

Plot

Plotly plots showing the directions on the columns.

FoundationDesign.CombinedFootingAnalysis.total_force_X_dir_uls(self)

Calculates the total force on the foundation in the x direction using the ultimate limit state combination of 1.35gk + 1.5qk + 1.5wk.

Returns

float

sum of permanent,imposed and wind horizontal loads in x direction in kN

FoundationDesign.CombinedFootingAnalysis.total_force_Y_dir_uls(self)

Calculates the total force on the foundation in the y direction using the ultimate limit state combination of 1.35gk + 1.5qk + 1.5wk.

Returns

float

sum of permanent,imposed and wind horizontal loads in y direction in kN

FoundationDesign.CombinedFootingAnalysis.total_force_Z_dir_uls(self)

Calculates the total axial force at ultimate limit states of 1.35gk + 1.5qk + 1.5wk The foundation loads are converted to kN and added to the total axial loads from permanent, imposed and wind loads.

Returns

float

sum of permanent,imposed and wind axial loads including foundation loads in kN

FoundationDesign.CombinedFootingAnalysis.total_force_Y_dir_uls(self)

Calculates the total force on the foundation in the y direction using the ultimate limit state combination of 1.35gk + 1.5qk + 1.5wk.

Returns

float

sum of permanent,imposed and wind horizontal loads in y direction in kN

FoundationDesign.CombinedFootingAnalysis.total_force_Z_dir_uls(self)

Calculates the total axial force at ultimate limit states of 1.35gk + 1.5qk + 1.5wk The foundation loads are converted to kN and added to the total axial loads from permanent, imposed and wind loads.

Returns

float

sum of permanent,imposed and wind axial loads including foundation loads in kN

FoundationDesign.CombinedFootingAnalysis.total_moments_X_direction_uls(self)

Calculates the total moments on the foundation in the X direction using the ultimate limit state combination.

Returns

float

Total moments on the foundation in kNm.

FoundationDesign.CombinedFootingAnalysis.total_moments_Y_direction_uls(self)

Calculates the total moments on the foundation in the Y direction using the ultimate limit state combination.

Returns

float

Total moments on the foundation in kNm.

FoundationDesign.CombinedFootingAnalysis.eccentricity_X_direction_uls(self)

Calculates the foundation eccentricity in the X direction using the ultimate limit state combination.

Returns

float

the eccentricity of the foundation in x direction units are in mm.

FoundationDesign.CombinedFootingAnalysis.eccentricity_Y_direction_uls(self)

Calculates the foundation eccentricity in the Y direction using the ultimate limit state combination.

Returns

float

the eccentricity of the foundation in y direction units are in mm.

FoundationDesign.CombinedFootingAnalysis.pad_base_pressures_uls(self)

Calculates the combined footing foundation pressures at the four corners of the foundation using the ultimate limit state combination.

Returns

q1float

base pressure at sls located at the bottom left corner of the pad foundation in kN/m2

q2float

base pressure at sls located at the top left corner of the pad foundation in kN/m2

q3float

base pressure at sls located at the bottom right corner of the pad foundation in kN/m2

q4float

base pressure at sls located at the top right corner of the pad foundation in kN/m2

FoundationDesign.CombinedFootingAnalysis.base_pressure_rate_of_change_X(self)

Calculates the rate of change of the base pressure at each meter of the foundation length using Ultimate Limit State combination.This would be used for analysing the shear and bending moment diagram along X direction.

Returns

left_hand_base_reactionfloat

The base reaction at the left hand side of the foundation along x direction in kN/m

right_hand_base_reactionfloat

The base reaction at the right hand side of the foundation along x direction in kN/m

FoundationDesign.CombinedFootingAnalysis.base_pressure_rate_of_change_Y(self)

Calculates the rate of change of the base pressure at each meter of the foundation length using Ultimate Limit State combination.This would be used for analysing the shear and bending moment diagram along X direction.

Returns

bottom_edge_base_reactionfloat

The base reaction at the bottom edge of the foundation along y direction in kN/m

top_edge_base_reactionfloat

The base reaction at the top edge of the foundation along y direction in kN/m

Combined Pad Foundation Design

class FoundationDesign.CombinedFootingDesign(CombinedFootingAnalysis, fck: float = 25, fyk: float = 460, concrete_cover: float = 30, bar_diameterX: int = 16, bar_diameterY: int = 16)

Auxiliary class that inherits from the CombinedFootingAnalysis class. This class helps to design the foundation.The main class should be created before this design class can be called.

Parameters

CombinedFootingAnalysisClass

Class representing the analysis of the combined foundation.

FoundationDesign.CombinedFootingDesign.__init__(self, CombinedFootingAnalysis, fck: float = 25, fyk: float = 460, concrete_cover: float = 30, bar_diameterX: int = 16, bar_diameterY: int = 16)

Auxilliary class that initializes combined foundation object for design.

Parameters

CombinedFootingAnalysisClass

Main class for combined foundation analysis

fckfloat, default - 25

Characteristic compressive cylinder strength in N/mm2. Accepted range of values [16,20,25,30,32,35,37,40,45,55]

fykfloat, default - 460

Characteristic yield strength of reinforcement in N/mm2

concrete_coverfloat, default - 30

Nominal cover to foundation in mm

bar_diameterXint, default - 16

Assumed bar diameter of the foundation in the x direction in mm. Accepted range of values [8,10,12,16,20,25,32,40]

bar_diameterYint, default - 16

Assumed bar diameter of the foundation in the y direction in mm. Accepted range of values [8,10,12,16,20,25,32,40]

FoundationDesign.CombinedFootingDesign.__loading_diagrams_X_dir(self)

Creates an analysis model for the foundation that would then be analysed to get the design forces along the x direction.

Returns

Object

foundation loading diagram in the x direction wrapped around the beam class of the IndeterminateBeam package.

FoundationDesign.CombinedFootingDesign.__loading_diagrams_Y_dir(self)

Creates an analysis model for the foundation that would then be analysed to get the design forces along the x direction.

Returns

Object

foundation loading diagram in the x direction wrapped around the beam class of the IndeterminateBeam package.

FoundationDesign.CombinedFootingDesign.plot_foundation_loading_X(self, show_plot=True)

Shows the load acting on the foundation in the X direction this consists of the soil loads and concrete own load acting as a udl over the foundation length and a soil pressure acting underneath the foundation along the foundation length.

FoundationDesign.CombinedFootingDesign.plot_foundation_loading_Y(self, show_plot=True)

Shows the load acting on the foundation in the Y direction this consists of the soil loads and concrete own load acting as a udl over the foundation width and a soil pressure acting underneath the foundation along the foundation width.

FoundationDesign.CombinedFootingDesign.plot_bending_moment_X(self, show_plot=True)

Plots the foundation bending moment diagram along X direction showing the design moment at the face of the column.

FoundationDesign.CombinedFootingDesign.plot_bending_moment_Y(self, show_plot=True)

Plot the foundation bending moment diagram along Y direction showing the design moment at the face of the column

FoundationDesign.CombinedFootingDesign.plot_shear_force_X(self, show_plot=True)

Plots the foundation shear force diagram along X direction showing the design shear force at a distance 1d from the column face.

FoundationDesign.CombinedFootingDesign.plot_shear_force_Y(self, show_plot=True)

Plots the foundation shear force diagram along Y direction showing the design shear force at a distance 1d from the column face.

FoundationDesign.CombinedFootingDesign.get_design_moment_X(self)

Outputs the design bending moments of the foundation along the x direction at the face of the column.

Returns

Negative Bending Momentfloat

design bending moment in x direction (default unit - kNm)

Positive Bending Momentfloat

design bending moment in x direction (default unit - kNm)

FoundationDesign.CombinedFootingDesign.get_design_moment_Y(self)

Outputs the design bending moments of the foundation along the y direction at the face of the column.

Returns

Negative Bending Momentfloat

design bending moment in x direction (default unit - kNm)

Positive Bending Momentfloat

design bending moment in x direction (default unit - kNm)

FoundationDesign.CombinedFootingDesign.get_design_shear_force_X(self)

Outputs the design shear force of the foundation, at a distance 1D from the face of the column along the X direction.

Returns

float

design shear force in x direction (default unit - kN)

FoundationDesign.CombinedFootingDesign.get_design_shear_force_Y(self)

Outputs the design shear force of the foundation, at a distance 1D from the face of the column along the Y direction.

Returns

float

design shear force in y direction (default unit - kN)

FoundationDesign.CombinedFootingDesign.area_of_steel_reqd_X_dir(self)

Calculates the area of steel required along the x direction of the foundation

Returns

float

area of steel required in the x direction. (default unit mm2/m)

FoundationDesign.CombinedFootingDesign.area_of_steel_reqd_Y_dir(self)

Calculates the area of steel required along the y direction of the foundation

Returns

float

area of steel required in the y direction. (default unit mm2/m)

FoundationDesign.CombinedFootingDesign.tranverse_shear_check_Xdir(self)

Checks the adequacy of the shear stress at a distance equal to d from the column face along the X direction.

Returns

string

formatted string showing the Design shear resistance and design shear force for the x direction.

FoundationDesign.CombinedFootingDesign.tranverse_shear_check_Ydir(self)

Checks the adequacy of the shear stress at a distance equal to d from the column face along the Y direction.

Returns

string

formatted string showing the Design shear resistance and design shear force for the Y direction.

FoundationDesign.CombinedFootingDesign.__punching_shear(self)

Calculates Maximum shear resistance and design punching shear resistance at critical locations.

Returns

vrd_maxfloat

Maximum punching shear resistance according to cl.6.4.5(3) of the Eurocode 2 in N/mm2

vrd_cfloat

Design punching shear resistance according to exp.6.47 of the Eurocode 2 in N/mm2

vrd_c_1dfloat

Design punching shear resistance at 1d according to exp.6.50 of the Eurocode 2 in N/mm2

FoundationDesign.CombinedFootingDesign.update_punching_shear_stress_factor(self, beta: float = 0)

Updates the punching shear stress factor as per guidelines in clause 6.4.3(6) of the eurocode 2

Parameter

betafloat, default - 0

Punching shear stress factor according to (fig 6.21N). This is used to override the program’s calculated punching shear stress factor. if not called beta is calculated using description in expression 6.51 of the design code.

Returns

float

value for punching stress factor

FoundationDesign.CombinedFootingDesign.col_1_punching_shear_column_face(self)

Calculates the punching shear at the column face and check for its adequacy.

Return

string

Maximum punching shear resistance in N/mm2 and design punching shear stress in N/mm2

FoundationDesign.CombinedFootingDesign.col_1_punching_shear_check_1d(self)

Calculates the punching shear at a distance 1d from the column one face and check for its adequacy.

Return

string

maximum punching shear resistance in N/mm2 and design punching shear stress in N/mm2

FoundationDesign.CombinedFootingDesign.col_1_punching_shear_check_2d(self)

Calculates the punching shear at a distance 2d from the column one face and check for its adequacy.

Return

string

maximum punching shear resistance in N/mm2 and design punching shear stress in N/mm2

FoundationDesign.CombinedFootingDesign.col_2_punching_shear_column_face(self)

Calculates the punching shear at the column two face and check for its adequacy.

Return

string

Maximum punching shear resistance in N/mm2 and design punching shear stress in N/mm2

FoundationDesign.CombinedFootingDesign.col_2_punching_shear_check_1d(self)

Calculates the punching shear at a distance 1d from the column two face and check for its adequacy.

Return

string

maximum punching shear resistance in N/mm2 and design punching shear stress in N/mm2

FoundationDesign.CombinedFootingDesign.col_2_punching_shear_check_2d(self)

Calculates the punching shear at a distance 2d from the column two face and check for its adequacy.

Return

string

maximum punching shear resistance in N/mm2 and design punching shear stress in N/mm2