Archi-Civilarchi-civil.com
Finite Elements · FEM-01  |  Confidence: A (verified against closed-form solutions)
Figures are produced by engine/frame-solver.js and pinned in tests/frame-solver.test.js.

Home / Articles / Finite Elements FEM-01

Refining the Mesh Is Not Always the Answer

When a finite element result is wrong, the reflex is more elements. This article describes a case where one element gives the exact answer and thirty-two do not. The difference is not in the mesh but in how the distributed load is carried to the nodes.

Confidence: A Engine: engine/frame-solver.js Tests: tests/frame-solver.test.js — 20/20 Reading: ~15 min Last verified: 2026-09-10 Türkçe: bu yazının Türkçesi

1. What finite elements solve

In the direct stiffness method a structure is divided into elements connected at their ends. For each element a stiffness matrix relating end displacements to end forces is written; these are summed at shared nodes to assemble the system matrix, and

[K] {u} = {F} [K]: system stiffness matrix · {u}: nodal displacements · {F}: nodal forces. Note that the right-hand side is defined at nodes. If a load acting on the structure is not at a node, it must first be carried to one — and that transfer is exactly the subject of this article.

Programs such as ETABS, SAP2000 and ABAQUS do this in the background. The "black box" feeling usually comes from that transfer being invisible.

2. The hidden privilege of the beam element

The bending part of a 2D frame element rests on cubic Hermite shape functions. This is not an arbitrary choice: with no distributed load inside the element, the Euler–Bernoulli beam equation is

EI · d⁴v/dx⁴ = 0 whose solution is a cubic polynomial. The cubic shape functions span exactly that space — so with no distributed load inside the element, the finite element solution is not approximate but EXACT.
Immediate consequence A cantilever loaded by a tip point load is solved exactly with one element. There is no way to "improve" this by refining the mesh, because there is no error to improve. The site's engine verifies this against δ = PL³/3EI in tests/frame-solver.test.js.

This is a marked difference from continuum elements (plane stress, solid). There the shape functions do not reproduce the true solution and mesh refinement is genuinely necessary. The beam element is privileged — and that privilege is lost in the next section.

3. The problem: a distributed load does not sit at a node

When a uniformly distributed load acts on a beam, d⁴v/dx⁴ = 0 no longer holds inside the element:

EI · d⁴v/dx⁴ = w The solution is now a quartic polynomial. Cubic shape functions cannot reproduce it — so the privilege appears to end here.

But it does not end entirely. If the {F} vector is built correctly, the cubic approximation can still give the exact answer at the nodes. The question is how w is carried to the nodes.

4. Two routes: lumped and consistent

The lumped approach

The intuitive route: share the load out to the nodes. For an element of length ℓ the total load is wℓ; half goes to one end, half to the other.

Fi = Fj = wℓ/2   ·   Mi = Mj = 0

The consistent load vector

The correct route builds the equivalence not from force balance but from virtual work: the nodal loads are chosen so that they do the same virtual work as the actual distributed load. Integrating over the shape functions produces a moment term as well:

Fi = Fj = wℓ/2   ·   Mi = −wℓ²/12 , Mj = +wℓ²/12 The fixed-end moment formula itself. What the lumped approach omits is this pair of moments.

5. Numerical comparison

Fixed cantilever, uniformly distributed load. The closed-form solution is δ = wL⁴/(8EI) = —. The table below is produced by the solver when the page loads.

ElementsLumpedErrorConsistentError
computing…
Same structure, same solver, same mesh. The only difference is how the distributed load is carried to the nodes.
Findingcomputing…

6. Why the consistent load is exact

The consistent load vector represents exactly the effect at the nodes of the distributed load inside the element. The fixed-end moment of a beam is wℓ²/12; the consistent vector transfers precisely that to the node. The system equation then becomes identical to the one that gives the nodal displacements under the real loading.

Because the lumped approach omits that pair of moments, it leaves the element ends freer than they really are in a cantilever. A freer end rotates more and produces more deflection — which is why the lumped column runs high in this table.

Correction — 2026-09-10 An earlier version of this paragraph stated that the lumped approach always reads deflection high. That generalisation is wrong, and it surfaced while the calculation tool was being built: the sign of the error depends on the system. In a simply supported beam the lumped approach concentrates load toward the supports and reads the deflection low — with a two-element mesh, +8.33% in the cantilever and −20.0% in the simply supported beam. What does not change is this: the consistent load vector gives exact nodal displacements in both systems. Both cases can be produced separately in the calculation tool.

7. Convergence order: O(h²)

The lumped approach is wrong but not inconsistent: it approaches the correct answer as the mesh is refined. Watch the error column — at each refinement the error is divided by exactly four.

e(h) ∝ h²   ⇒   doubling the element count divides the error by four Second-order convergence. This is the most practical way to test the trustworthiness of finite element results: solve with two different meshes and check whether the error ratio matches the expected order.

A useful tool follows from this: you do not need to know the exact solution to know whether a model is converging. It is enough to watch how the difference between successive meshes shrinks.

8. The limit: the element INTERIOR is not exact

Not to be misread The consistent load vector gives exact nodal displacements. It does not give the displacement inside the element exactly: the finite element solution there is still cubic while the true solution is quartic. The difference is zero at the nodes and not zero at mid-element.

The direct consequence: if you care about the maximum moment or deflection inside an element, mesh refinement is still required. The tip deflection of a single-element cantilever is exact, but the mid-span deflection is not. Internal force diagrams likewise improve as the element count rises.

So we are not saying "mesh refinement is unnecessary". We are saying that mesh refinement does not fix a wrong load vector; it only slowly covers it up.

9. The engine's own audit

The figures in this article come from the site's solver, engine/frame-solver.js. While preparing the article, the solver was audited against six independent closed-form solutions:

CheckClosed formSolverStatus
computing…
All six checks came out exact; no error was found in the solver on this pass. An audit that finds no fault is also a result and deserves to be recorded.

10. What to do in practice

  1. Define the distributed load to the program itself rather than splitting it to nodes by hand. Commercial programs build the consistent vector themselves; a user who "shares the load out to the nodes" loses that advantage.
  2. If a result looks suspicious, look at the load definition first, not the mesh. Refining is expensive and does not fix a wrong load vector.
  3. Test convergence by the error ratio. Solve two meshes; a division by four is the expected behaviour. If it does not divide, something else is wrong with the model.
  4. Refine the mesh for quantities inside the element. Exact nodal results do not mean exact diagrams.
  5. Test the program with a simple closed-form case. The first thing to do with new software is to run a known solution such as δ = PL³/3EI.

11. Test yourself

  1. If you split a cantilever with a tip point load into two elements, does the result change? Why?
  2. Why are the moment terms of the consistent load vector equal and opposite, −wℓ²/12 and +wℓ²/12?
  3. You doubled the mesh and the result changed by 8%; you doubled it again and it changed by 2%. Is this the expected behaviour? How would you estimate the converged value?
  4. If the tip deflection of a single-element cantilever is exact, why is the mid-span deflection not?
  5. Does a single plane-stress element also give the exact answer? How does it differ from the beam element?

References

  1. The direct stiffness method and Hermite shape functions — standard finite element results, independent of any national code.
  2. Derivation of the consistent load vector through virtual work, and its identity with the fixed-end moment wℓ²/12.
  3. For course modules and MATLAB applications: Kwon, Y.W. & Bang, H., The Finite Element Method using MATLAB. The exposition and derivations here are our own, and all figures come from our own engine; the source is cited for topic coverage and sequence.

All figures in this article are produced by engine/frame-solver.js and separately pinned in tests/frame-solver.test.js (20/20). Verification is not by comparison with third-party output but against closed-form elasticity solutions.

Open the calculation tool → FEM-02: locking and hourglassing → Türkçe okuyun →
archi-civil.com — Refining the Mesh Is Not Always the Answer · FEM-01 · Confidence A · Printed:
Mesh refinement does not fix a wrong load vector; it only slowly covers it up.