SectionProSectionPro

2026-03-18 · 20 min

Distances to the Interaction Surface

SectionPro Tutorial — batch resistance check of load combinations against the 3D interaction surface (EC2, ACI 318)

Introduction

In the previous article, we computed the interaction surface — the 3D resistance domain of a reinforced concrete section in the space. The stress-strain solver (Article \#2) can verify individual loads against this domain, but the engineer must then inspect results one by one, or only look at the most unfavorable case, without a global picture of how all combinations sit relative to the capacity.

The distances module addresses this by projecting every load point onto the interaction surface and displaying the result as a single 3D scatter plot. For each load, it returns a status (inside, outside, or boundary) and a safety factor quantifying the margin. The engineer sees all combinations at once: one glance reveals which loads are safe, which exceed the capacity, and by how much.

An additional advantage concerns codes with equivalent rectangular stress blocks (ACI 318 Whitney block, CSA A23.3, AASHTO). The stress-strain solver must use the alternative realistic law (parabola-rectangle), since a stress block cannot drive an iterative strain solver. The interaction surface, however, is built directly from the Whitney block, making the distances approach more faithful to these codes' primary design law.

The trade-off: unlike the stress-strain solver, the distances module does not return the deformation state or stress distribution. It answers "pass or fail, and by how much?" but not "what is the stress at each fiber?".

Computed results

SectionPro reports three categories of results for each distance analysis:

Status & safety factor

: normalized distance
Status: Internal / External
Most unfavorable load identified
One surface per limit state

3D visualization

Interaction surface (triangulated mesh)
Load points scattered on the plot
Color-coded by status
Rotation, zoom, pan controls

Exports

PDF: 3D views + results table
XLS: loads, distances, status
TXT: tabular results (columns)

This approach vs. the stress-strain analysis

The following table summarizes the key differences between the two verification methods available in SectionPro.

CriterionDistances (this article)Stress-strain (Article \#2)
GoalPass/fail screeningDetailed state
Output + status, , FS, forces
Deformation stateNoYes
Visual output3D scatterStress/strain diagrams
Best forLarge load envelopesCritical load cases
Whitney blockRecommendedUse the realistic law
Few loadsSurface overheadFast (direct solve)
Many loadsFast (one surface, cheap rays)Slow (iterative per load)

Both approaches are complementary. A typical workflow is: (1) use distances to screen an entire load envelope and identify the critical combinations, then (2) use the stress-strain solver on those critical cases to obtain the full section response.

How distances work

Given a load point and the interaction surface , the module computes the centroid of the surface mesh (guaranteed to lie inside the domain) and traces a ray from through until it intersects at a point . The safety factor is defined as:

  • : the load point is inside the surface — the section has reserve capacity.
  • : the load point is on the boundary — the section is at its exact limit.
  • : the load point is outside the surface — the capacity is exceeded.

On the 3D scatter plot, load points are color-coded accordingly: green for internal loads () and red for external loads ().

The surface is computed once per limit state, and then each load point only requires a ray-surface intersection with negligible cost compared to the iterative convergence required by the stress-strain solver.

Octagonal section (Eurocode 2)

Input data

The section geometry, reinforcement, and material laws are identical to those used in Article \#4 (Interaction Surface). 30 load combinations are defined: 15 at ULS-F (Fundamental) and 15 at SLS-C (Characteristic), covering a mix of pure axial force, pure biaxial bending, combined loading, tension, and compression. Concrete — Octagonal cross section — m, m — m, m. Reinforcement — 48 bars, uniform spacing 150 mm — Diameter mm, cover 50 mm. Material laws (EC2) — Concrete C30/37: MPa — Steel B500B: MPa.

Geometry and reinforcement layout.
Geometry and reinforcement layout.
Material laws (EC2).
Material laws (EC2).

ULS-F (Fundamental)

15 load combinations: 8 internal, 7 external.

ULS-F: scattered loads on surface (view 1).
ULS-F: scattered loads on surface (view 1).
ULS-F: scattered loads on surface (view 2).
ULS-F: scattered loads on surface (view 2).
Load (kN) (kN·m) (kN·m) (−)Status
8External
7External
4External
5Internal
3Internal
2Internal

Load \#4 ( kN, pure compression) barely exceeds the surface with , confirming that the bounding box kN reported in Article \#4 is correct. Load \#2 ( kN, pure compression) is deep inside the domain (), as expected for a load well below .

The combined loads show the non-cubic shape of the interaction surface: load \#8 (, ) has individual moment components below the bounding box limits (, ) but their combination pushes the point outside the surface ().

SLS-C (Characteristic)

15 load combinations: 6 internal, 9 external.

SLS-C: scattered loads on surface (view 1).
SLS-C: scattered loads on surface (view 1).
SLS-C: scattered loads on surface (view 2).
SLS-C: scattered loads on surface (view 2).
Load (kN) (kN·m) (kN·m) (−)Status
23External
26External
19External
27Internal
18Internal
17Internal
To better identify internal load points hidden behind the surface, reduce the surface opacity or switch to wireframe mode (both options are available in the 3D viewer).

Elliptical section (ACI 318)

Input data

The section geometry, reinforcement, and material laws are identical to those used in Article \#4. 30 load combinations are defined: 15 at ULS and 15 at SLS. Concrete — Elliptical cross section — Width m, Height m. Reinforcement — 40 bars along the perimeter — Diameter mm, cover 50 mm. Material laws (ACI 318) — Concrete: MPa — Steel: MPa.

Geometry and reinforcement.
Geometry and reinforcement.
Material laws (ACI 318).
Material laws (ACI 318).

ULS

15 load combinations: 8 internal, 7 external.

ULS: scattered loads on surface (view 1).
ULS: scattered loads on surface (view 1).
ULS: scattered loads on surface (view 2).
ULS: scattered loads on surface (view 2).
Load (kN) (kN·m) (kN·m) (−)Status
8External
7External
4External
15Internal
3Internal
2Internal

The ACI -factors ( to ) and the cap reduce the nominal capacity, making the ULS surface smaller than a raw interaction surface. From Article \#4, the bounding box gives kN, kN·m, kN·m: exceeding any of these limits guarantees failure, as seen for loads \#4 and \#8. Load \#7 (, kN·m), however, stays within all three limits yet still falls outside the surface () — the bounding box cannot catch this case, the 3D surface can.

SLS

15 load combinations: 7 internal, 8 external.

SLS: scattered loads on surface (view 1).
SLS: scattered loads on surface (view 1).
SLS: scattered loads on surface (view 2).
SLS: scattered loads on surface (view 2).
Load (kN) (kN·m) (kN·m) (−)Status
23External
26External
19External
27Internal
18Internal
17Internal

At SLS, the concrete is limited to the allowable stress ( MPa), resulting in a much smaller surface than ULS. Load \#23 is the most unfavorable across both limit states (): the combined biaxial bending (, kN·m) far exceeds the SLS capacity, even though each moment component individually would be within the bounding box.

Cross-validation with the stress-strain solver

The distances module projects load points onto a pre-built mesh of the interaction surface. The stress-strain solver (Newton-Raphson, Article \#2) iterates to find the equilibrium strain state for each load individually. The two methods should agree: a load inside the surface () must satisfy all material strain limits, while a load outside () must violate at least one limit.

15-load comparison (octagonal section, ULS-F)

For each load, the table gives the distances result ( and Internal/External status), followed by the stress-strain solver output: worst concrete strain and steel strain (both in ‰, absolute values), and the corresponding material verdict.

Load (kN) (kN·m) (kN·m) (−)Status (‰) (‰)Verdict
1InternalOK
2InternalOK
3InternalOK
4ExternalKO
5InternalOK
6ExternalKO
7ExternalKO
8ExternalKO
9InternalOK
10ExternalKO
11ExternalKO
12InternalOK
13ExternalKO
14InternalOK
15InternalOK

The two methods are fully consistent. Every External load is confirmed at failure by at least one material (concrete, steel, or both), and every Internal load satisfies all strain limits. The safety factor is a reliable indicator of margin: loads deep inside the surface show strains well below their limits, while loads near the boundary approach them and loads well outside exceed them by a large margin. Loads 10–11: concrete crushing only, steel within rupture limit. Loads 6–8 and 13: both limits exceeded simultaneously.

As explained in Article \#2, the Newton-Raphson solver extrapolates material laws beyond their physical validity domain when equilibrium cannot be reached within the valid range. Strains reported for External loads are therefore numerical artefacts with no physical meaning: they simply confirm that no valid equilibrium state exists inside the material limits.

100,000-load benchmark

To quantify agreement at scale, both methods are applied to 100,000 random load combinations ( kN, kN·m, all at ULS-F). The surface is built once (31 ms) and reused for all distance queries.

MethodLoadsQuery timeRateInternalExternal
Distances (queries only) ms M/s%%
Stress-strain NR ms M/s%%

Agreement: 99.97% (99,974 out of 100,000 loads classified identically). The 26 disagreements all have : these load points lie within 0.2% of the surface boundary and are effectively at the limit by any measure.

This is expected behaviour. The distances module does not apply a strict equality test : any load with sufficiently close to 1 is treated as a boundary case. In this narrow region, the two methods can legitimately disagree — the distances result depends on the mesh resolution (finite triangle size introduces a geometric approximation), while the NR solver iterates to exact equilibrium. In such cases the NR solver is the final arbiter: it computes exact equilibrium and its verdict takes precedence over the distances classification.

From an engineering standpoint, whenever , the engineer should not rely on the automatic Internal/External classification alone. The appropriate response is either to run a full NR calculation for a precise verdict, or, better, to modify the section geometry or reinforcement to achieve a clear safety margin ( comfortably below 1).

The distances module is 15 times faster than the NR solver for this batch (query phase). In practice, however, both methods are effectively instantaneous for the vast majority of engineering use cases. The speed advantage becomes meaningful for advanced applications (structural optimisation loops, parametric studies, automated code-checking over large load envelopes) where millions of combinations or more must be evaluated repeatedly.

Conclusion

The distances module provides a fast and reliable method to screen any number of load combinations against the interaction surface of a reinforced concrete section. For each load, it returns a normalised safety factor and an Internal/External status, giving the engineer an immediate picture of the most critical combinations across all limit states simultaneously.

The cross-validation on 100,000 loads confirms 99.97% agreement with the Newton-Raphson stress-strain solver. The 26 disagreements are all located within 0.2% of the surface boundary, where mesh discretisation makes the classification uncertain; in these cases the NR solver remains the final arbiter. For loads clearly inside or outside the surface, the two methods are fully consistent.

Both methods are instantaneous for routine engineering work. The distances approach becomes especially valuable when millions of combinations must be evaluated (optimisation loops, parametric studies, automated code-checking), where its surface-reuse architecture eliminates redundant computation entirely.

Beyond the numerical results, the key advantage of the distances module is the 3D scatter plot: for each limit state, all load combinations and the full resistance domain are visible in a single figure. At a glance, the engineer sees which loads are safe, which exceed capacity, and by how much — a self-contained graphic that integrates directly into a calculation report.

Export

SectionPro exports the distance results in three formats. The PDF report includes 3D views of the interaction surface with scattered load points. For each limit state, the most critical load is identified, followed by a results table sorted by descending . The Excel and text exports provide the same tabular data for external post-processing.

PDF export, page 1: 3D views and load scatter.
PDF export, page 1: 3D views and load scatter.
PDF export, page 2: results table.
PDF export, page 2: results table.