Home / Articles / Finite Elements FEM-06
The Same Operation, Opposite Meaning
In FEM-05, shifting the mid-side node multiplied the error fortyfold. On a curved boundary the same operation is required. And while writing this article something more uncomfortable emerged: the 3.000 that FEM-03 used as its reference is not the right value for this geometry.
1. Harm on a straight edge, correction on a curved one
The result of FEM-05 was clear: when the mid-side node of a Q8 element was displaced from the middle of its edge, the error rose from 0.67% to 30.99% — forty-six times.
Now consider the plate with a hole. The hole boundary is a circle. The corner nodes lie on the circle, but by default the mid-side node is placed at the arithmetic midpoint of the two corners — that is, at the middle of the chord, not of the arc.
Without projection the hole is represented by a polygon. We measured the deviation: —.
2. The projection cannot be inconsistent
There is a hidden trap here. An edge is shared by two elements. If the projection were performed separately in each and the two disagreed, the elements would come apart.
Our engine makes that structurally impossible: the mid-side node is created once, stored under an edge key, and handed to both elements. The projection is applied at that single moment of creation. There is no room for inconsistency — and this is kept as a separate case in the test suite.
3. Three routes compared
The same problem was solved three ways: Q4, Q8 without projection, and Q8 with projection. Hole radius a = 10, quarter-model half-width W = 200, grading 3.
| Mesh | Q4 | Q8 straight edge | Q8 projected | Q8 DOF |
|---|---|---|---|---|
| computing… | ||||
4. What projection alone contributes
The third and fourth columns use the same mesh, the same element count and the same degrees of freedom. The only difference between them is the position of four nodes.
The mirror image of FEM-05: there, moving four nodes out of place multiplied the error fortyfold; here, putting them in place divides it by several times.
5. Something did not add up
Looking at the table, this stands out: as the mesh is refined, projected Q8 converges not to 3.000 but to around 3.02. And it stays there.
We met a similar situation in FEM-05 and found the cause to be the reference. I began with the same suspicion: if I widen the plate, does it fall to 3.000?
6. My own measurement error
The cause was this: grading is proportional. As the plate widens, the first ring of elements around the hole becomes physically thicker, so the resolution near the hole falls. I had mixed the finite-width effect and mesh coarsening in the same table.
The correction was simple: converge the mesh separately at each a/W ratio. Once that is done the result is monotonic and physical.
7. The reference itself was wrong
| a/W | SCF | Deviation from 3.000 | Heywood estimate |
|---|---|---|---|
| computing… | |||
The Kirsch solution assumes an infinite plate. Our model is finite: a/W = 0.05. For this geometry the correct concentration factor is not 3.000 but 3.021. And that is confirmed two independent ways — it approaches 3.000 as a/W shrinks, and it agrees with a known approximate relation for finite width.
8. A correction to FEM-03
The direction matters: FEM-03 made Q4's error look smaller than it was. So the article's central thesis — stress converges slowly, a coarse mesh reads the peak low — is not weakened but strengthened. What was wrong was the reported number itself.
This is the sixth time the site has corrected itself, and the pattern is the same again: the error surfaced not while re-reading the text but while building something new. Without Q8 it could not have been found, because Q4's own error overwhelmed the reference's.
9. The engine refuses an invalid mesh
During the measurements one mesh was refused. As grading is increased, the mid-side node on a radial edge stays at the middle of that edge, but because the element is strongly graded the node falls far from the element's "natural" middle — and the Jacobian determinant turns negative.
The classical rule shows itself here: a Q8 mid-side node must remain within the middle half of its edge. Heavy grading violates that on radial edges.
10. What to do in practice
- On a curved boundary, place the mid-side node on the real curve. Leaving it straight represents the circle by a polygon.
- Do not do it on a straight edge. The same operation is harmful there — see FEM-05.
- Verify the projection is shared. Computed separately in two elements, the elements come apart.
- Change one variable at a time. My first measurement in this article was wrong because it mixed width and mesh resolution in one table.
- Read your reference's assumptions. Kirsch assumes an infinite plate; yours is finite.
- Use grading with restraint in Q8. The mid-node must stay within the middle half of its edge.
11. Test yourself
- When is moving a mid-side node an error and when a correction? What decides?
- What would happen if the projection were done separately in each element? Would you notice from the result?
- Why does the SCF approach 3.000 as the plate widens?
- Why was my first measurement not monotonic? Which two effects had I mixed?
- With FEM-03's number corrected, is its thesis weakened or strengthened? Why?
- Why does heavy grading produce an invalid element in Q8? Why is there no such problem in Q4?
References
- The Kirsch solution — the stress field around a circular hole in an infinite plate; a classical elasticity result.
- Known approximate relations for finite-width correction (Heywood type). Used here as an estimate, for independent checking.
- Isoparametric formulation and serendipity-family quadratic elements — standard finite element results.
- For course modules: Kwon, Y.W. & Bang, H., The Finite Element Method using MATLAB. The exposition, derivations and all figures here are our own.
All figures in this article are produced by engine/fem2d.js and separately pinned in tests/fem2d.test.js (81/81). The live tables on this page are limited to meshes that run in reasonable time in a browser; the converged value obtained on finer meshes (3.0209) is pinned in the test suite. The measurement error in section 6 is presented together with the error rather than silently corrected — because the error itself is instructive.
If you do not read your reference's assumptions, you will confuse the element's error with the reference's.