Mesh quality · 4 min read
The Jacobian, explained
Every FEA tool warns you about it. Here is what it measures, and a cantilever you can damage cell by cell to watch the solver struggle and the answer drift.
Jacobian, visually
e₁, e₂, e₃ are the three edges leaving the corner. Pull one corner: skew it and J slides toward the 0.6 warning line Cubit's Verdict library uses for hexes, push it onto a neighbour and J hits 0, push through and the cell is inside out.
What it measures
The Jacobian measures deformation: how far a cell is from its ideal shape. A perfect cube has a Jacobian of 1. A cube with a collapsed corner has a Jacobian of 0.
If the Jacobian is poor it can cause wrong stiffness and an ill-conditioned matrix, which results in slow or failed solves and answers that drift from the truth.
Wrong stiffness, cell by cell
Eight cells, a beam in pure bending, and an exact answer to compare against. Each cell prints how far its stiffness is from the analytical value.
Slow solves and drifting answers
Now a bigger mesh: a 100 mm cantilever, 180 cells, tip load, solved live by an iterative solver so you can watch it work. The top mesh is clean. In the bottom one, the sliders push mid-height nodes sideways into their neighbours.
Iterations climb before the answer breaks. Skew the cells and the solver needs more passes to converge while the tip deflection stays close. That is ill-conditioning. Then it snaps. Past a scaled Jacobian of zero the stiffness matrix stops being positive definite and the solve fails outright.
Why a bad cell corrupts stiffness
Stiffness is an integral over the cell of Bᵀ D B. B turns node movements into strain and is pure geometry. D turns strain into stress and is pure material. The integral is done numerically at a few Gauss points, and each point is weighted by the Jacobian determinant. Distort the cell and both B and the weight go wrong, in different amounts in different directions.
Why you can't just clamp the stiffness to ±10%
The error is not a scalar. A skewed cell is too stiff along one axis and too soft along another, and its wrong shape functions also misplace where load transfers to the neighbours. Clamping the magnitude would leave the direction wrong and break equilibrium with the cells around it. Fixing the mesh is cheaper than fixing the maths, which is why every solver reports the Jacobian instead of correcting for it.
Why the clean mesh is not exactly the analytical value
Four-node quadrilaterals are slightly too stiff in bending, a known effect called shear locking, so even the clean mesh under-predicts the tip deflection by a few percent. Higher-order elements or incompatible-mode formulations fix this. The demo keeps the plain element on purpose so the distortion effect is not hidden by a cleverer formulation. The analytical value is the Timoshenko beam, which includes shear deflection, about 0.8% of the total at this aspect ratio.
What "CG iterations" tells you
A direct solver factorises the matrix once and gives no such signal. The demo uses an iterative solver, conjugate gradient, whose iteration count grows with the condition number of the stiffness matrix. A well-shaped mesh converges in a few hundred passes. Distorted cells add extreme stiffness ratios, the condition number rises, and the count climbs. Real solvers use preconditioners that hide much of this, which is why the effect is worth seeing once without one.