← Back to Element Explorer

Why this Q4 displacement field is NOT OK

u = α1 + α2 x + α3 y + α4
v = α5 + α6 x + α7 y + α8

Not Geometrically Isotropic

A valid element must produce the same physical behavior regardless of orientation. This is called geometric isotropy: rotating the element should simply rotate the result — not change it. Terms in u and v must be symmetric about Pascal’s triangle (complete rows).

The bad polynomial puts in u and in v. Under a 45° rotation, maps to (x−y)²/2 = x²/2 − xy + y²/2 — a mix of three different monomials. The basis is completely different after rotation, so the element cannot be geometrically isotropic.

The two panels show the same element: axis-aligned (left) and rotated 45° (right). The nodal loads are the same physical displacement — the vectors on the right are the left-panel vectors rotated 45° to match the new orientation. Drag nodes on the left canvas; watch how the α coefficients on the right are not a simple rotation of the left — the field changes, not just its frame.

Bad polynomial — axis-aligned   u = …+α4v = …+α8

u =
v =

Bad polynomial — rotated 45°   u = …+α4v = …+α8

u =
v =

Color = |d(x,y)| from the fitted bad polynomial, same color scale on both panels. If the polynomial were geometrically isotropic the right contour would be the left contour rotated 45°. Instead the contour shapes differ and the α coefficients are unrelated by rotation — the / basis breaks geometric isotropy.

Why a slightly skewed element? On a true axis-aligned rectangle the four nodal x-coordinates take only two distinct values, so the column in the fit matrix is linearly dependent on the x column. The system is rank-deficient and the polynomial cannot be uniquely fit to the 4 nodal values. A slight skew (corners offset by 0.1) breaks this degeneracy so dragging one node moves only that node, keeping the geometric-isotropy failure as the only phenomenon on display. (The same rank deficiency is why Demo 2 below uses rotated squares.)

Contrast — Good Polynomial Is Rotation-Invariant (Isoparametric)

The good polynomial is the isoparametric bilinear element: displacement is interpolated as u = ∑ Ni(ξ,η) ui where the shape functions Ni live in natural coordinates (ξ, η), not in global x,y. The natural-coordinate polynomial 1, ξ, η, ξη has no knowledge of the element’s orientation in global space.

When the element is rotated 45°, the nodal displacements are projected onto the new local axes, so the individual α coefficients change. But the magnitude |d(ξ,η)| = √(u²+v²) is preserved at every natural point — rotating a vector does not change its length. The right contour is therefore the left contour rotated 45°.

The bad polynomial (Failure 1) is written in global x,y: when the element rotates, and genuinely change — the contour is not just rotated but has a different shape entirely.

Drag nodes on the left canvas; the right panel shows the same element rotated 45° with the equivalent local-frame load.

Isoparametric — axis-aligned   u = ∑ Ni(ξ,η)\,ui

u =
v =

Isoparametric — rotated 45°   (same Ni(ξ,η), local load)

u =
v =

Coefficients shown in natural-coordinate form α1 + α2ξ + α3η + α4ξη. The α values differ between panels (the load direction rotated), but |d(ξ,η)| is identical — compare the two contours.

Related Topic: Inter-Element Compatibility

Another requirement for valid finite elements is inter-element compatibility: adjacent elements must produce matching displacements along shared edges.

The x²/y² polynomial basis also fails this requirement for non-axis-aligned elements.

→ See the Inter-Element Compatibility demo