Nonlinear Finite Element Analysis of Concrete Strip Foundations on Elastic Support

This article presents a comprehensive theoretical framework for analyzing concrete strip foundations subjected to concentrated and distributed loads on elastic soil support. The implementation combines classical beam-on-elastic-foundation theory with nonlinear material behavior including concrete cracking, creep, and fiber reinforcement. This is the method utilized in the strip foundation program greenStrip in the software greenStruct made by PPCD.

Author: Daniel Fester Henningsen
Published: March 25, 2026
Featured image: Nonlinear Finite Element Analysis of Concrete Strip Foundations on Elastic Support

Introduction

Strip foundations are fundamental structural elements that transfer building loads to the underlying soil. Traditional analysis methods assume linear elastic behavior, which fails to capture the actual response of concrete foundations that undergo cracking, creep, and nonlinear soil interaction. This article describes a computational framework that addresses these limitations through:

  1. Beam-on-elastic-foundation theory with Winkler spring model
  2. Nonlinear material modeling via moment-curvature relationships
  3. Time-dependent effects through creep and aging
  4. Advanced reinforcement including steel bars and structural fibers
  5. Iterative FEA solution with adaptive mesh refinement

Theoretical Foundation

Governing Differential Equation

A beam on elastic foundation is governed by the fourth-order differential equation:

Punching shear mechanism around a column schematic
Image from: Hetényi, M. (1979). Beams on Elastic Foundation. University of Michigan Press.
$$EI \frac{d^4 w}{dx^4} + k(x) w(x) = q(x)$$

where:

  • $w(x)$ = vertical deflection [m]
  • $EI$ = flexural rigidity [MN·m²]
  • $k(x)$ = modulus of subgrade reaction [kN/m/m]
  • $q(x)$ = applied load per unit length [kN/m]

For nonlinear analysis, the stiffness $EI$ becomes a function of curvature:

$$EI(\kappa) = \frac{M(\kappa)}{\kappa}$$

where $\kappa$ is the curvature [m⁻¹] and $M$ is the corresponding moment [kNm].

Characteristic Length

The characteristic length defines the zone of influence for concentrated loads and governs mesh refinement:

$$l_c = \left( \frac{4EI}{kW} \right)^{1/4}$$

where $W$ is the foundation width [m]. This parameter determines:

  • The distance over which load effects propagate
  • Required analysis length for bounded solutions
  • Optimal element sizing for FEA mesh

Modulus of Subgrade Reaction

The soil stiffness is characterized by the modulus of subgrade reaction, modified by Terzaghi's width correction:

$$k_{\text{eff}} = k_0 \left( \frac{B + 0.3}{2B} \right)^2$$

where $B$ is the foundation width [m] and $k_0$ is the reference modulus at $B = 0.3$ m.

For layered soil profiles, the code implements depth-dependent stiffness based on Janbu's tangent modulus:

$$k(z) = \frac{m \cdot \sigma_v^{(1-1/j)}}{z}$$

where $m$ and $j$ are soil parameters, $\sigma_v$ is vertical stress, and $z$ is depth.

Material Modeling

Concrete Constitutive Behavior

The concrete stress-strain relationship follows Eurocode 2 with parabolic-rectangular distribution:

$$\sigma_c(\varepsilon_c) = f_{cd} \left[ 1 - \left(1 - \frac{\varepsilon_c}{\varepsilon_{c2}} \right)^n \right]$$

where:

  • $f_{cd} = \alpha_{cc} f_{ck} / \gamma_c$ = design compressive strength
  • $\varepsilon_{c2}$ = strain at peak stress
  • $n$ = parabola exponent (typically 2)

The effective modulus accounts for creep:

$$E_{c,\text{eff}} = \frac{E_{cm}}{1 + \varphi(\infty, t_0)}$$

where $\varphi(\infty, t_0)$ is the creep coefficient from EN 1992-1-1.

Creep Modeling

Long-term deflections require accounting for creep. The code implements the age-adjusted effective modulus method:

$$\varphi(t, t_0) = \varphi_0 \cdot \beta_c(t - t_0)$$

where:

  • $\varphi_0$ = notional creep coefficient depending on humidity, member size, and concrete strength
  • $\beta_c(t - t_0)$ = time development function
  • $t_0$ = age at loading
  • $t$ = age at analysis

The notional size is:

$$h_0 = \frac{2A_c}{u}$$

where $A_c$ is the cross-sectional area and $u$ is the perimeter exposed to drying.

Reinforcement

Steel Reinforcement

Bilinear stress-strain with or without strain hardening:

$$\sigma_s(\varepsilon_s) = \begin{cases} E_s \varepsilon_s & \text{if } \varepsilon_s \leq \varepsilon_{yd} \\ f_{yd} & \text{if } \varepsilon_s > \varepsilon_{yd} \end{cases}$$

where $f_{yd} = f_{yk}/\gamma_s$ and $\varepsilon_{yd} = f_{yd}/E_s$.

Fiber Reinforcement

The code implements the 𝜎-𝜀 design method from EN 1992-1-1:2023 Annex L.5.5.2 with residual strength parameters

Post-Cracking Stress-Strain Relationship

The bilinear constitutive law for structural analysis (EN 1992-1-1 L.5.5.2) is:

$$\sigma_f(\varepsilon) = \begin{cases} f_{Ft1,ef} & \text{if } \varepsilon_{ctm} < \varepsilon \leq \varepsilon_{F,0} \\ f_{Ft1,ef} + \frac{(\varepsilon - \varepsilon_{F,0})}{(\varepsilon_{Ftu} - \varepsilon_{F,0})} \cdot (f_{Ft3,ef} - f_{Ft1,ef}) & \text{if } \varepsilon_{F,0} < \varepsilon < \varepsilon_{Ftu} \\ f_{Ft3,ef} & \text{if } \varepsilon \geq \varepsilon_{Ftu} \end{cases}$$

Design Residual Strengths

The effective residual tensile strengths are calculated from characteristic values:

$$f_{Ft1,ef} = k_o \cdot k_G \cdot 0.37 \cdot f_{R1k}$$
$$f_{Ft3,ef} = k_o \cdot k_G \cdot (0.57 \cdot f_{R3k} - 0.26 \cdot f_{R1k})$$

Where:

  • $f_{R1k}$, $f_{R3k}$ = Characteristic residual flexural tensile strengths at CMOD = 0.5 mm and 2.5 mm
  • $k_o$ = Orientation factor (accounts for fiber alignment, typically 0.5 to 2.0)
  • $k_G$ = Global safety factor for static indeterminacy

Strain Limits

$$\varepsilon_{ctm} = \frac{f_{ctm}}{E_{cm}} \quad \text{and} \quad \varepsilon_{F,0} = 2 \cdot \varepsilon_{ctm}$$
$$\varepsilon_{Ftu} = \frac{v_h}{l_{cs}} \leq \frac{2.5 \text{ mm}}{l_{cs}} \leq \varepsilon_{Ftud}$$
$$l_{cs} = \begin{cases} \min\{h; s_{rm,cal,F}\} & \text{for combined axial and bending} \\ s_{rm,cal,F} & \text{for uniaxial tension} \end{cases}$$

Where $s_{rm,cal,F}$ is the mean crack spacing (see EN 1992-1-1 L.9.3, Formula L.26). As a simplification, a constant value of $l_{cs} = 125$ mm may be used unless explicitly precluded by the National Annex (EN 1992-1-1 L.5.5.2 Note 1).

Moment-Curvature Analysis

For each section, the moment-curvature relationship is computed by:

  1. Assuming a curvature $\kappa$
  2. Determining neutral axis position $x_{\text{NA}}$ such that:
$$\int_A \sigma(\varepsilon(y)) \, dA = N_{Ed}$$

where $\varepsilon(y) = \kappa \cdot (y - x_{\text{NA}})$

  1. Computing moment:
$$M = \int_A \sigma(\varepsilon(y)) \cdot y \, dA$$
  1. Repeating for range of curvatures to build $M(\kappa)$ curve

The resulting relationship provides the variable stiffness function:

$$EI(\kappa) = \frac{M(\kappa)}{\kappa} \cdot I_{\text{ref}}$$

Finite Element Formulation

Element Stiffness Matrix

The foundation is discretized into Euler-Bernoulli beam elements. For a single element with length $L_e$ and constant $EI$:

$$[K_e] = \frac{EI}{L_e^3} \begin{bmatrix} 12 & 6L_e & -12 & 6L_e \\ 6L_e & 4L_e^2 & -6L_e & 2L_e^2 \\ -12 & -6L_e & 12 & -6L_e \\ 6L_e & 2L_e^2 & -6L_e & 4L_e^2 \end{bmatrix}$$

For vertical deflection-only analysis (single DOF per node), the reduced stiffness is:

$$k_{e,ij} = \frac{12 EI}{L_e^3}$$

Spring Elements

The Winkler foundation is modeled as discrete springs at each node:

$$k_{\text{spring},i} = k(x_i) \cdot W \cdot L_{\text{trib},i}$$

where $L_{\text{trib},i}$ is the tributary length for node $i$:

$$L_{\text{trib},i} = \frac{L_{e,i-1} + L_{e,i}}{2}$$

The spring stiffness is added directly to the diagonal of the global stiffness matrix.

Load Vector

The nodal forces account for distributed and concentrated loads. For a uniformly distributed load $q$ over element length $L_e$:

$$\{F_e\} = \frac{qL_e}{2} \begin{Bmatrix} 1 \\ 1 \end{Bmatrix}$$

For concentrated loads, the code distributes the load over its specified length using tributary areas:

$$F_i = \sum_{\text{loads}} P_j \cdot w_j(x_i)$$

where $w_j(x_i)$ is the weight function for load $j$ at node $i$.

Global System

Assembling all elements yields the global system:

$$[K_{\text{global}}]\{u\} = \{F_{\text{global}}\}$$

where $[K_{\text{global}}]$ includes both beam and spring contributions:

$$[K_{\text{global}}] = [K_{\text{beam}}] + [K_{\text{springs}}]$$

Nonlinear Solution Algorithm

Iterative Procedure

For nonlinear analysis where $EI = EI(\kappa)$, the code implements a fixed-point iteration:

Algorithm:

1. Initialize: EI₀ = Ec·I (uncracked elastic stiffness)
2. Assemble [K] with current EI
3. Solve [K]{u} = {F}
4. For each element:
a. Compute curvature: κ = (u_{i+1} - u_i)/L_e²
b. Update stiffness: EI_new = EI(κ)
5. Check convergence: |EI_new - EI_old| < tolerance
6. If not converged and iter < max_iter: go to step 2
7. Return final {u}

The element update function computes the average curvature at element midpoint:

$$\kappa_e = \frac{\kappa_{\text{node},1} + \kappa_{\text{node},2}}{2}$$

Spring Update for Tension

Soil cannot sustain tension. When node displacement is positive (upward), the spring stiffness is reduced:

$$k_{\text{spring,updated}} = \begin{cases} k_{\text{spring}} & \text{if } w \leq 0 \\ 0.001 \cdot k_{\text{spring}} & \text{if } w > 0 \end{cases}$$

This creates an additional source of nonlinearity handled by the iteration.

Convergence Criteria

The iteration converges when:

$$\max_e \left| \frac{EI_e^{\text{new}} - EI_e^{\text{old}}}{EI_e^{\text{old}}} \right| < 10^{-4}$$

If convergence fails, the utilization ratio is set to 9.99 to flag the issue.

Adaptive Mesh Refinement

Mesh Generation Strategy

The code implements adaptive mesh refinement around load positions:

Refinement zones:

  • Fine mesh: $|x - x_{\text{load}}| < 0.3 l_c$, element size $\Delta x = 0.3h$
  • Transition: $0.3 l_c < |x - x_{\text{load}}| < l_c$, linearly interpolated
  • Coarse mesh: $|x - x_{\text{load}}| > l_c$, element size $\Delta x = 2h$

For multiple loads, the minimum distance to any load determines the local element size:

$$\Delta x(x_i) = f\left( \min_j |x_i - x_{\text{load},j}| \right)$$

Analysis Length Determination

The analysis length must be sufficient to ensure boundary effects do not influence the region of interest. For a semi-infinite beam on elastic foundation, load effects decay exponentially with distance characterized by the characteristic length $l_c$.

For concentrated loads:

$$L_{\text{min}} = \max(20, 2.5 l_c, L_{\text{span}} + 4l_c)$$

For uniform loads:

$$L_{\text{min}} = \max(20, 30h, 2.5 l_c)$$

where $h$ is the foundation height and $L_{\text{span}}$ is the extent of loading. These expressions ensure the analysis domain extends at least 2-3 characteristic lengths beyond load application points, allowing load effects to decay to negligible levels before reaching the free-end boundaries.

If the analysis length is reduced below these recommendations, the free-end boundary conditions will increasingly influence the solution in the loaded region, potentially underestimating moments and deflections for what would otherwise behave as a longer beam.

Section Force Recovery

Moment Calculation

Once displacements are known, moments at element nodes are recovered from curvature:

$$M(x) = EI(\kappa) \cdot \kappa(x)$$

For linear analysis:

$$M(x) = EI_0 \cdot \kappa(x)$$

For nonlinear analysis:

$$M(x) = M(\kappa(x)) \text{ from M-}\kappa\text{ curve}$$

Shear Force Calculation

Shear forces are computed from element equilibrium. For a beam element with end moments $M_1, M_2$ and distributed load $q$:

$$V_1 = -\frac{M_1 + M_2}{L_e} - \frac{qL_e}{2}$$
$$V_2 = \frac{M_1 + M_2}{L_e} + \frac{qL_e}{2}$$

Point springs create discontinuities, so shear is averaged:

$$V_{\text{avg}} = \frac{V_{\text{left}} + V_{\text{right}}}{2}$$

Crack Width Estimation

For serviceability limit state, crack widths are estimated from the moment or curvature:

Linear analysis:

$$w_{cr} = f_{cw}(M)$$

Nonlinear analysis:

$$w_{cr} = f_{cw}(\kappa)$$

where $f_{cw}$ is the crack width function derived from the detailed section analysis.

Verification and Utilization Ratios

Ultimate Limit State (ULS)

For ULS verification, utilization ratios are computed:

Moment capacity:

$$UR_M = \frac{M_{Ed}}{M_{Rd}}$$

where:

  • Linear: $M_{Rd}$ from section capacity calculation
  • Nonlinear: $UR_M = \max\left( \frac{\kappa_{Ed}}{\kappa_{Rd,\text{pos}}}, \frac{\kappa_{Ed}}{\kappa_{Rd,\text{neg}}} \right)$

Shear capacity:

$$UR_V = \frac{V_{Ed}}{V_{Rd}}$$

where $V_{Rd}$ is calculated per EN 1992-1-1 Section 6.2, accounting for concrete contribution and stirrups.

Serviceability Limit State (SLS)

Crack width:

$$UR_{\text{crack}} = \frac{w_{\text{calc}}}{w_{\text{lim}}}$$

where $w_{\text{lim}}$ is the allowable crack width.

Settlement:

$$UR_{\text{settle}} = \frac{|\delta_{\max}|}{\delta_{\text{lim}}}$$

Implementation Details

Load Application for Multiple Concentrated Loads

When multiple concentrated loads are specified, each load $j$ contributes to node $i$ according to:

$$F_i = \sum_{j=1}^{n_{\text{loads}}} \left[ (F_{z,j} + G_{z,j}) \cdot w_{ij} \right] \cdot 10^3 + DL \cdot L_{\text{trib},i} \cdot 10^3$$

where $w_{ij}$ is the tributary length of node $i$ within load $j$'s distribution length.

The weight function accounts for load spread:

$$w_{ij} = \text{length of } [x_i - \Delta x_{i,\text{left}}, x_i + \Delta x_{i,\text{right}}] \cap [x_{j,\text{start}}, x_{j,\text{end}}]$$

Stiffness Variation

For differential settlement analysis (uniform load case), soil stiffness varies:

$$k(x) = \begin{cases} k_{\min} & \text{if } |x| > \delta \\ k_{\min} + \frac{k_{\max} - k_{\min}}{\delta}(|x| - \delta) & \text{if } |x| \leq \delta \end{cases}$$

where $\delta$ is the transition length.

For concentrated load cases, uniform minimum stiffness is used:

$$k(x) = k_{\min} \quad \forall x$$

Numerical Integration

The section analysis requires numerical integration over the cross-section. The code uses fiber discretization:

$$N = \sum_{i=1}^{n_{\text{fibers}}} \sigma_i A_i$$
$$M = \sum_{i=1}^{n_{\text{fibers}}} \sigma_i A_i y_i$$

where each fiber has area $A_i$ at position $\gamma_i$ with stress $\sigma_i(\varepsilon_i)$.

Validation and Limitations

Validation Cases

The implementation has been validated against:

  1. Hetényi's analytical solutions for beams on elastic foundation
  2. Finite element programs

Key Assumptions

  • Plane sections remain plane (Bernoulli hypothesis)
  • Winkler foundation model (no interaction between springs)
  • Small deflections (linear geometry)
  • No bond slip between concrete and reinforcement
  • Uniform soil properties in transverse direction

Limitations

  • Large deflections
  • Soil-structure interaction beyond Winkler model
  • Three-dimensional effects
  • Dynamic loading
  • Thermal effects

Conclusion

This implementation provides a comprehensive framework for analyzing concrete strip foundations with:

  1. Nonlinear material behavior capturing cracking and creep
  2. Variable stiffness finite elements for accurate load distribution
  3. Adaptive meshing for computational efficiency
  4. Multiple load configurations including concentrated and distributed
  5. Full code compliance with Eurocode 2 and Eurocode 7

The method enables engineers to:

  • Quantify the actual safety margins beyond empirical reinforcement rules
  • Optimize reinforcement for specific loading conditions
  • Account for time-dependent effects in long-term performance
  • Validate or challenge the Danish SBi-guidance practice of using steel reinforcement equivalent to 0.2% of the concrete cross section

References

1. Hetényi, M. (1979). Beams on Elastic Foundation. University of Michigan Press.

2. Eurocode 2 (EN 1992-1-1). Design of concrete structures.

3. RILEM TC 162-TDF. Test and design methods for steel fibre reinforced concrete.

4. Meyerhof, G.G. (1962). Load carrying capacity of concrete pavements. Journal of Soil Mechanics and Foundations Division, ASCE.

5. Terzaghi, K. (1955). Evaluation of coefficients of subgrade reaction. Géotechnique, 5(4).

6. fib Model Code 2010. International Federation for Structural Concrete.

7. Janbu, N. (1985). Soil models in offshore engineering. Géotechnique, 35(3).


This theoretical framework forms the basis of the greenStrip analysis engine, implementing state-of-the-art computational methods for foundation design while maintaining computational efficiency suitable for practical engineering applications.