I am running modal and buckling analyses with Lagrange elements, and an example can be found here.

Modal analysis works well without spurious modes. But buckling analysis returns with spurious modes. The differences in their formulation is given below,

Modal Analysis

## Inertial force density

`inert = rho * thick * w # Kinetic energy density e_kin = 1.0 / 2.0 * inert * w`

Buckling Analysis

`# Buckling load f = as_matrix([[1., 0],[0, 0]]) # Potential energy functional - external forces e_ext = 1.0 / 2.0 * inner(grad(w), f * grad(w))`

Anybody has an idea how to solve this issue?