Soil Bearing Capacity Test Formula: A Practical Guide

Learn the soil bearing capacity test formula, its components, and how to apply Terzaghi's equation in practice. This technical guide covers prerequisites, step-by-step calculations, and common pitfalls for safe foundation design.

Load Capacity
Load Capacity Team
·5 min read
Quick AnswerDefinition

The soil bearing capacity test formula estimates the maximum soil stress a foundation can safely transmit to the ground. In practice, engineers combine soil properties (cohesion c', effective friction angle phi', unit weight gamma), foundation width B, and embedment D to compute ultimate capacity qu using Terzaghi-type expressions. This quick guide outlines the core equation, its assumptions, and how to apply it to safe design.

Terzaghi's bearing capacity formula overview

Terzaghi's bearing capacity formula provides the framework to estimate the ultimate load a footing can carry before failure in shallow foundations. The basic expression for a strip footing on a homogeneous soil is qu = c' Nc + gamma' D Nq + 0.5 gamma' B Ngamma, where c' is effective cohesion, gamma' is submerged unit weight, D is embedment depth, B is footing width, and Nc, Nq, Ngamma are bearing capacity factors dependent on phi'. This section outlines the assumptions behind the model, the typical units used, and how to interpret the results in practice.

Python
# Terzaghi's equation calculator (illustrative) import math def ultimate_bearing_capacity(c_prime_kPa, gamma_kN_per_m3, D_m, B_m, Nc, Nq, Ngamma): qu = c_prime_kPa * Nc + gamma_kN_per_m3 * D_m * Nq + 0.5 * gamma_kN_per_m3 * B_m * Ngamma return qu # Example inputs (illustrative) c_prime = 25.0 # kPa gamma = 18.0 # kN/m^3 (submerged) D = 1.5 # m B = 2.0 # m Nc, Nq, Ngamma = 30, 40, 22 print("qu =", ultimate_bearing_capacity(c_prime, gamma, D, B, Nc, Nq, Ngamma))
  • This snippet shows how to assemble the core terms. Values for Nc, Nq, Ngamma come from charts or soil tests and depend on phi'.

Soil properties and their role in the formula

The accuracy of the soil bearing capacity test formula hinges on reliable soil property inputs. The key parameters are c' (cohesion), phi' (effective friction angle), and gamma' (effective unit weight). In cohesive soils, c' dominates, while in dense sands and gravels, phi' and gamma' often govern the response. This section demonstrates a small Python workflow to organize inputs, validate units, and feed them into the Terzaghi model. The approach keeps inputs consistent across databases and lab reports.

Python
# Input validation and unit handling (illustrative) from dataclasses import dataclass @dataclass class SoilInput: c_prime_kPa: float phi_prime_deg: float gamma_kN_per_m3: float # Example input (illustrative values) soil = SoilInput(c_prime_kPa=25.0, phi_prime_deg=28.0, gamma_kN_per_m3=18.0) print(f"c'={soil.c_prime_kPa} kPa, phi'={soil.phi_prime_deg} deg, gamma'={soil.gamma_kN_per_m3} kN/m^3")
  • Note: Always cross-check input ranges with national or regional geotechnical guidelines and use lab data where possible.

From field tests to the formula: SPT, CPT, and lab correlations

In-situ tests (SPT, CPT) and lab tests provide the empirical links between soil behavior and bearing capacity. SPT N-values and CPT tip resistance can be correlated with c', phi', and gamma' through established correlations, but these are contingent on soil type and testing conditions. This section shows a robust, trackable workflow for turning field data into formula-ready inputs. The code snippet uses a simple lookup-based interpolation to map phi' to bearing-capacity factors, emphasizing the need for using certified charts in practice.

Python
# Illustrative lookup-based mapping (non-authoritative) lookup = { 0: (5, 10, 4), 15: (15, 25, 12), 30: (30, 40, 22), 45: (50, 88, 40) } def factors_from_chart(phi_deg): # nearest-lower phi' lookup (illustrative) nearest = max(k for k in lookup.keys() if k <= phi_deg) return lookup[nearest] print("factors for phi' 28°:", factors_from_chart(28))
  • This demonstrates how you would anchor the bearing-capacity factors to chart data while documenting the source and version of the charts used. Always replace illustrative data with official tables from codes or product manuals.

Ultimate vs allowable capacity and the role of safety factors

The formula yields the ultimate bearing capacity qu. To use it in design, engineers apply a factor of safety (FS) to obtain the allowable bearing capacity qa = qu / FS. Typical FS values range from 2.0 to 3.0 depending on loading uncertainties, consequences of failure, and project codes. This section provides a Python demonstration of converting qu to qa and then comparing against estimated service loads. You should tailor FS to site-specific risk and to the reliability targets of the project.

Python
def allowable_capacity(qu, FS=3.0): return qu / FS qu = 240.0 # illustrative kPa qa = allowable_capacity(qu, FS=2.5) print(f"Allowable capacity qa = {qa:.1f} kPa")
  • The calculation highlights the need for careful documentation of FS rationale, including whether you’re using short-term or long-term loads, seasonal water-table changes, and site variability.

Step-by-step calculation workflow (numerical example)

This section walks through a complete calculation using Terzaghi’s model and a modest FS, tying together inputs from soil data, field measurements, and design requirements. The steps include selecting phi' and c', choosing geometry (B, D), computing Nc, Nq, Ngamma from charts, and finally calculating qu and qa. The example assumes c' = 25 kPa, phi' ≈ 28°, gamma' = 18 kN/m^3, B = 2.0 m, D = 1.5 m, and factors Nc = 30, Nq = 40, Ngamma = 22. The final qa is compared to the applied soil stress to check safety margins.

Python
c_prime = 25.0 phi_deg = 28.0 gamma = 18.0 B = 2.0 D = 1.5 Nc, Nq, Ngamma = 30, 40, 22 qu = c_prime * Nc + gamma * D * Nq + 0.5 * gamma * B * Ngamma FS = 2.5 qa = qu / FS print(f"qu = {qu:.1f} kPa, qa = {qa:.1f} kPa")
  • This concrete walkthrough reinforces the linkage between soil properties, geometry, and design decisions. Always document assumptions, data sources, and the version of charts or correlations used in the calculation.

Practical checks, variations, and reporting

No single equation covers every site condition. This section discusses practical checks, sensitivity analyses, and reporting essentials. Consider performing a brief parametric study: vary c', phi', and gamma within their lab-measured confidence intervals and observe qa. Document uncertainties, concrete foundation type (strip, raft, or pad), and depth effects. If the soil is layered, consider an equivalent depth-weighted approach or use layered-soil bearing-capacity methods as per local codes. The example below demonstrates a simple sensitivity calculation to highlight how changes in c' influence results.

Python
# Simple sensitivity to c' with fixed other inputs c_prime_values = [20, 25, 30] d = 1.5 B = 2.0 gamma = 18.0 Nc, Nq, Ngamma = 30, 40, 22 for c in c_prime_values: qu = c * Nc + gamma * d * Nq + 0.5 * gamma * B * Ngamma print(f"c'={c} kPa => qu={qu:.1f} kPa")
  • A robust report includes data provenance, quality control notes, and a validation plan with field tests where feasible. This is where Load Capacity’s guidance helps ensure the process is consistent, auditable, and aligned with industry standards.

Design nuances for different foundation types and soil conditions

Different foundation geometries and soil conditions require tailored interpretations of the same formula. For shallow footings on layered soils, use effective stress concepts across the depth of interest and consider punching shear in brittle soils. For deep foundations, point loads and flexural effects may dominate, requiring a different approach or finite-element modeling. The key is to present a transparent, reproducible path from soil data to qa, including the assumptions that govern the chosen model. This section wraps up with a small code example showing how to branch by foundation type and select an appropriate set of parameters.

Python
def bearing_capacity_by_foundation_type(type_name, c_prime, phi_deg, gamma, B, D): if type_name == 'strip_shallow': Nc, Nq, Ngamma = 30, 40, 22 elif type_name == 'raft': Nc, Nq, Ngamma = 32, 46, 24 else: Nc, Nq, Ngamma = 28, 38, 20 qu = c_prime * Nc + gamma * D * Nq + 0.5 * gamma * B * Ngamma return qu print(bearing_capacity_by_foundation_type('strip_shallow', 25, 28, 18, 2.0, 1.5))
  • The takeaway is that the formula is a guiding framework; the engineer must adapt inputs to real-world conditions and maintain rigorous documentation.

Steps

Estimated time: 60-120 minutes

  1. 1

    Define input soil properties

    Collect c', phi', gamma', D, and B from lab reports or field tests. Validate units before plugging into the formula.

    Tip: Cross-check units (kPa, kN/m^3, meters) to avoid unit inconsistency.
  2. 2

    Select bearing-capacity factors

    Choose Nc, Nq, Ngamma from standard charts corresponding to phi'. Document the chart version.

    Tip: If layered soils exist, note how factors are averaged or layered.
  3. 3

    Compute ultimate capacity

    Plug inputs into qu = c' Nc + gamma' D Nq + 0.5 gamma' B Ngamma and verify the result.

    Tip: Run a sensitivity check by varying c' and phi' within measured uncertainty.
  4. 4

    Apply safety factor and interpret

    Calculate qa = qu / FS and compare against design soil-stress demands. Document FS rationale.

    Tip: Guard against overestimation by including long-term effects and load duration.
Pro Tip: Always corroborate empirical correlations with site-specific data and codes.
Warning: Avoid using single-test results to define capacity; account for soil heterogeneity and measurement uncertainty.
Note: Document all assumptions and data sources for auditability and future updates.

Prerequisites

Required

  • Soil mechanics background (foundation engineering basics)
    Required
  • Calculator or software capable of handling equations (Excel, Python, or geotechnical software)
    Required
  • Understanding of c', phi', and gamma' concepts and units
    Required
  • Access to soil test data (lab results or certified charts)
    Required
  • Fundamental knowledge of safety factors and design codes
    Required

Keyboard Shortcuts

ActionShortcut
Copy bearing-capacity termsCopy core variables (c', phi', gamma, D, B) from the formula sectionCtrl+C
Paste into worksheetPosition cursor in the target cellCtrl+V
Open formula chartsSearch for bearing capacity factor chartsWin+S
Toggle bold in editorHighlight key terms like qu, qa, Nc, Nq, NgammaCtrl+B

Quick Answers

What is the soil bearing capacity test formula and what does it calculate?

The soil bearing capacity test formula estimates the ultimate soil pressure a foundation can safely transmit to the ground. It combines cohesion, effective stress, and soil weight with foundation geometry to yield qu. The approach is typically based on Terzaghi’s framework and is used to derive a safe allowable capacity qa after applying a safety factor.

The formula estimates how much load the soil can safely carry and helps determine if a design is safe. It’s based on soil properties and foundation geometry, then adjusted with a safety factor.

How do different soil conditions affect c' and phi' in the formula?

Cohesive soils emphasize c', while frictional soils emphasize phi'. Both parameters influence Nc, Nq, and Ngamma, which in turn govern qu. Accurate inputs come from lab tests or reputable field correlations, and adjustments are common when soils are layered or anisotropic.

Soil type changes whether cohesion or friction controls capacity; use the right charts and sources for Nc, Nq, and Ngamma.

What is the difference between ultimate and allowable bearing capacity?

Ultimate bearing capacity qu is the maximum load the soil can support before failure. Allowable capacity qa is qu divided by a safety factor FS, representing a conservative design load. QA must exceed the expected service load by a margin to ensure safety.

Ultimate is the theoretical max; allowable is the safe design value after factoring safety.

Can Terzaghi's formula be used for all soils?

Terzaghi's formula is widely used but has limitations. It works best for relatively homogeneous, shallow foundations and soils that fit its assumptions. For complex soils or deep foundations, complementary methods or numerical modeling may be necessary.

Terzaghi’s approach is a good starting point but not universal; you may need other methods for complex soils.

How do you estimate Nc, Nq, Ngamma from phi'?

Nfactors come from standard bearing-capacity charts or empirical correlations. They depend on phi' and load geometry. Always reference the exact chart version used and, when possible, validate with site data.

Use charts or data tables to pick Nc, Nq, Ngamma that match your phi'.

What are common sources of error when applying the formula in field conditions?

Errors arise from inaccurate soil properties, inappropriate FS choice, ignoring soil layering, and misapplying charts. Field verification and conservative assumptions help reduce risk.

Be cautious with input data, use conservative factors, and verify with field tests.

Top Takeaways

  • Define soil properties clearly before calc
  • Use Terzaghi's formula as a starting point and adapt
  • Apply appropriate safety factors to obtain qa
  • Validate results with field data and codes

Related Articles