In the structural integrity assessment of pressure vessels, oil and gas pipelines, offshore steel structures and nuclear pressure-boundary components, the stress intensity factor (SIF, written $K_I$) is the central quantity of Linear Elastic Fracture Mechanics (LEFM). It measures precisely how strong the singular stress field is at the crack tip.
The flaw assessment standard BS 7910:2019+A1:2020, published by The Welding Institute (TWI), sets out in its Annex M a classic, high-accuracy and self-consistent system of analytical SIF solutions for the eight common geometry groups met in engineering. This article explains its physical basis, the code calculation chain and its engineering use, and introduces an interactive online calculator built entirely in pure Python.
1. Physical basis: a general SIF superposition model
Annex M uses a general SIF assembly model based on superposition (BS 7910:2019, Annex M, Eq. M.1):
To cover primary and secondary (e.g. residual) stress together with macro and local stress-concentration effects, the standard expands this into the form (BS 7910:2019, Annex M, Clause M.2.1):
The physical multiplier chain:
- $P_m, P_b$ and $Q_m, Q_b$: primary membrane/bending and secondary membrane/bending stress
(Clause M.2.1). - $M_m, M_b$: unbounded-plate geometry correction factors (membrane & bending).
- $f_w$: the finite-width correction factor, e.g. the secant width correction for a through-wall crack
(Eq. M.8). - $Q$: the crack shape parameter ($Q = \Phi^2$), which corrects a straight-fronted crack to a semi- or full-elliptical singular front
(Eq. M.11). - $M$: the thin-shell bulging factor (also the Folias factor), which compensates for the shell-tension release in cylinders/pipes and curved shells
(Clause M.6). - $k_m, k_{tm}, k_{tb}$: the manufacturing misalignment and macro stress-concentration correction chain.
- $M_{km}, M_{kb}$: the local weld-toe notch stress-concentration factors, which capture the local singularity of the weld-toe geometry
(Clause M.4.1.2).
2. The classic Newman-Raju semi-elliptical solution for plates (M.4)
For the most representative case in engineering — a semi-elliptical surface crack in a plate — BS 7910 Annex M.4 fully adopts the Newman-Raju (1986) polynomial fit. This solution is a milestone in fracture mechanics: it was the first to evaluate, in parallel, both the deepest point of the crack front (point A) and the surface free end (point C):
2.1 Shape parameter and integral factor
The crack shape parameter $Q$ and the elliptic-integral value $\Phi$ are related by (Annex M.4.1.2.2, Eq. M.11):
For $a \le c$:
$$ \Phi = \sqrt{1 + 1.464 \left(\frac{a}{c}\right)^{1.65}} $$For $a > c$ (a long, narrow crack):
$$ \Phi = \sqrt{1 + 1.464 \left(\frac{c}{a}\right)^{1.65}} $$and the three-dimensional shape parameter is $Q = \Phi^2$.
2.2 Splitting the geometry factor between the two front points
Newman-Raju gives a polynomial split of the membrane geometry factor $M_m$ between the deepest and surface points (Annex M.4.1.2, Eq. M.12):
- Deepest front point ($\theta = \pi/2$): $$ M_{m,dp} = \frac{M_1 + M_2(a/B)^2 + M_3(a/B)^4}{\Phi} $$
- Surface front point ($\theta = 0$): $$ M_{m,sf} = \frac{\left( M_1 + M_2(a/B)^2 + M_3(a/B)^4 \right) \cdot g \cdot \sqrt{a/c}}{\Phi} $$
This split shows clearly that: for a shallow, long flaw, the surface point — under the boundary effect of surface free-energy release — can, at some ratio, overtake the deepest point in SIF and so control surface growth; while for a deep flaw, the deepest point, under high triaxial constraint, carries the highest brittle-fracture risk.
3. The thin-shell Folias bulging factor and cylinder correction (M.6)
In cylinders/pipes or curved shells, as a crack grows axially or circumferentially, internal fluid pressure or tensile load makes the shell at the cracked ligament bulge radially outward. This bulging produces a strong local bending that greatly magnifies the crack-tip SIF.
3.1 Axial through-wall correction:
The bulging magnification factor $M_T$ is set through the dimensionless shell-curvature parameter $\lambda$ (Clause M.6.1, Eq. M.24):
$$ M_T = \sqrt{1 + 1.61 \lambda^2} $$
where $r_m = r + B/2$ is the mean radius of the cylinder or curved shell (Clause M.6.1).
3.2 Surface semi-elliptical correction:
For a surface semi-elliptical flaw the bulging penalty is partly reduced by the restraining stiffness of the rest of the wall, and the correction $M_s$ is reshaped as (Clause M.6.2):
Through an adaptive damping term this makes $M_s \to 1.0$ for a shallow crack, and $M_s \to M_T$ when the crack is very deep and the ligament is near instability — physically consistent.
4. Weld-toe local magnification, Maddox/Fett correction (M.4.1.2 / M.4.2)
When a flaw sits at a weld toe — for example at a cruciform joint — the highly singular concentration field of the weld toe has a strong local effect on the crack tip. BS 7910 Clause M.4.1.2 introduces the Maddox local weld-toe magnification factors $M_{km}$ and $M_{kb}$:
- the local stress dominates only within a very thin layer at the weld toe (typically within $10\%$–$15\%$ of the plate thickness $B$);
- as the crack extends through the thickness ($a/B > 0.15$), the weld-toe effect falls off sharply with depth and $M_{k} \to 1.0$, approaching the parent-material solution.
This calculator implements the depth-decay formula 1:1, avoiding the over-conservative design that a single blanket multiplier on the whole section would cause.
5. A pure-Python interactive whitebox calculation platform
So that structural engineers can leave behind manual look-up of the code curves, the whole engine is written in pure Python and deployed as:
🧮 在线计算器:BS 7910 Annex M Stress Intensity Factor Calculator — Enter the geometry (a, c, B, W, r, p) and stresses, and read K_I with the whitebox step-by-step derivation.
Three highlights of the full-stack module:
-
Canvas geometry preview to scale: the web front end renders the metal section and elliptical crack to real physical proportions from your live geometry inputs ($a, c, B, W, r, p$), across 34 geometries (plate, embedded, cylinder inner/outer surface, round bar and more), and marks the deepest point A and surface point C on the canvas — for clear physical transparency.
-
Pure-Python analytical solving, microsecond response: the engine is rewritten 100% in pure Python, dropping external DLL wrapping and
pythonnetinterop overhead. Back-end compute is in the microsecond range, and it passes a full green regression against 68 golden examples to a 0.01% tolerance. -
Whitebox LaTeX step-by-step derivation: rather than only a final number, the right panel shows the full LaTeX step outline matching the code clauses 1:1, with the numerical substitution of every intermediate quantity (such as $\Phi, Q, f_w, M_{m,dp}$).
Through this system, engineers can see directly how geometry, misalignment and residual stress weight the change of the $K_I$ crack-tip field — moving from “memorizing formulas” to “controlling the physics”.