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