Home / Articles / Finite Elements FEM-03
Stress Converges Slower Than Displacement
Stress concentration around a hole is a problem whose exact solution is known. A coarse mesh reads the peak stress nearly half too low — that is, on the unsafe side. And with the same number of elements, changing only where they sit cuts the error from 48% to 1%.
1. Why this problem?
A plate with a hole is the classic teaching problem of finite elements, and for a good reason: its exact solution is known. How wrong the numerical answer is can therefore be measured rather than guessed.
But the real reason for choosing it is different. In the two previous articles we always looked at displacement. Engineering decisions, however, mostly rest on stress — and the two do not converge at the same rate.
2. The Kirsch solution
For a circular hole in an infinite plate under uniaxial tension, the tangential stress at the hole boundary is:
The second value is less well known and therefore valuable: it provides an independent check. A model hitting the peak stress could be a coincidence; hitting the compression at the side at the same time could not.
3. Model and symmetry
The problem is symmetric about two axes, so a quarter model suffices. The symmetry boundary conditions are simple: on each symmetry axis the displacement perpendicular to the axis is zero.
The hole radius is a = 10 and the quarter model half-width W = 200, so a/W = 0.05 and the finite-width effect is small; we are close to Kirsch's infinite-plate assumption.
4. Convergence
| Mesh | Elements | DOF | Concentration factor | Error |
|---|---|---|---|---|
| computing… | ||||
5. Why is stress slower?
The finite element method takes displacement as the unknown. Stress is computed from the derivative of displacement:
Compare with the cantilever in FEM-02: at 256 elements the displacement error was 4%. Here at 512 elements the stress error is still —. A mesh of the same order gives a markedly worse answer in stress.
The practical translation: a model that appears converged in displacement may still be unconverged in stress. A mesh adequate for a deflection check is not adequate for a stress check.
6. From which side it converges — and why that matters
In FEM-02 we saw that displacement always converges from below, i.e. the model is stiffer than the real structure. Here the peak stress also converges from below — but the consequence is far more serious.
An important caveat: the "always from below" rule that holds for displacement is not a general theorem for stress. It behaves that way in this problem because the peak stress sits at the top of a sharp gradient and a coarse mesh smooths it. In other problems — particularly near a singularity — stress may also approach from above, or grow without bound.
7. A second, independent check: compression
At the hole boundary in the load direction, Kirsch predicts −1: in a plate under tension, compression develops beside the hole.
| Mesh | σ(θ=0) / σ∞ | Error |
|---|---|---|
| computing… | ||
That this value also converges correctly shows the model is not merely hitting one number but representing the whole stress field correctly.
8. Where the elements sit matters more than how many
Now the most practical finding of the article. In the table below the mesh does not change at all — it is always 32×16, that is 512 elements. The only thing that changes is how much the elements are concentrated toward the hole boundary.
| Grading | Elements | Concentration factor | Error |
|---|---|---|---|
| computing… | |||
This is the sharpest form of a theme repeated across all three articles in the series:
- FEM-01: the right load vector beats more elements.
- FEM-02: the right element and integration choice beats more elements.
- FEM-03: the right element placement beats more elements.
In all three, the "refine the mesh" reflex was the most expensive and least effective remedy. Refining does help — but only after you have asked the right question: where is the error coming from?
9. The engine's own limit
This engine uses a dense linear solver. Memory grows with the square of the degrees of freedom, time with the cube. That is adequate for teaching models; beyond that the engine refuses explicitly rather than crashing, and says why.
10. What to do in practice
- Run a separate convergence study for stress. Converged deflection does not mean converged stress.
- Put the elements where the gradient is. Holes, notches, corners, load application points. A uniformly divided mesh spends most of its elements where nothing is happening.
- Assume the peak stress is low. If you have not run a convergence study, the value you found is below the truth.
- Find a closed-form check where you can. Classical solutions such as Kirsch should be the first test of a new model or new software.
- Check at more than one point. Hitting a single number may be coincidence; hitting two different points of the stress field cannot be.
- Use symmetry deliberately. If the behaviour you are looking for breaks symmetry, a quarter model will not show it.
11. Test yourself
- Why is stress one order less accurate than displacement?
- Why is a low peak stress on a coarse mesh the unsafe side?
- Why is the stress at θ = 0 in the Kirsch solution compressive? How does that arise in a plate under tension?
- You built two models with 512 elements each; one is 48% in error, the other 1%. What could the only difference be?
- We can say "always converges from below" for displacement. Why can we not say the same for stress?
- A model appears converged in deflection. What would you do before trusting its stress results?
References
- The Kirsch solution — the stress field around a circular hole in an infinite plate; a classical elasticity result, independent of any national code.
- Plane stress isoparametric formulation and convergence order — standard finite element results.
- For course modules and workshop problems: Kwon, Y.W. & Bang, H., The Finite Element Method using MATLAB. The exposition, derivations and all figures here are our own; the source is cited for topic coverage.
All figures in this article are produced by engine/fem2d.js and separately pinned in tests/fem2d.test.js (50/50). Verification is carried out at two independent points: the concentration factor at the top of the hole (3.000) and the compression at the side (−1.000). The quarter-model mesh gives a positive Jacobian at every subdivision used, and this is separately tested.
Converged deflection does not mean converged stress; a coarse mesh reads the peak stress low.