How many modes is enough?
Mass participation targets, eigensolvers that quietly skip a mode, and the Sturm-sequence check that catches it.
Every modal analysis dialog asks the same question up front: how many modes? Nobody can answer that honestly in advance. It depends on the structure. Here's how Elementarium approaches it instead.
Ask for mass, not a mode count
The seismic codes don't care about a number of modes. They care about how much of the structure's mass takes part. EN 1998-1 §4.3.3.3 asks for the modes considered to activate at least 90 % of the total mass in each direction.
So a modal setup carries a mass target alongside the requested mode count. The solver keeps extracting until the participating mass reaches the target, with a hard ceiling (maxModes) behind it. The "lowest N modes" request becomes a floor rather than a guess.
Mass participation for mode in direction is
and the target is met when reaches 90 % of the total mass.
The mode you didn't get
Iterative eigensolvers (Krylov, subspace iteration) are fast on large models. They have one quiet failure: they can step over a mode. Every returned pair still passes its residual test, is small, but the set isn't the lowest set. The results come out 1–4 % wrong, and nobody would catch that by eye.
The fix is old and cheap: a Sturm-sequence check. Factor the shifted matrix just above the highest returned eigenvalue, and count the negative pivots in . That count equals the number of eigenvalues below . If it's larger than the number of modes you got, one was skipped.
It costs one extra sparse factorization, so in Elementarium it's on by default.
Consistent or lumped
A consistent mass matrix bounds the frequencies from above. A lumped one typically lands below. Together they bracket the exact answer for a given mesh. Consistent is the default because it's the more accurate of the two for the same number of DOFs.
The mesh is part of the question
The last setting that matters isn't a solver option at all: how finely members are divided for the analysis. A member meshed as a single element has no mode shape of its own. So the modal setup sets a floor on member divisions, and it overrides a coarser count set on an individual member. Two setups can legitimately disagree: a coarse one for a quick storey-mass check, and a fine one that resolves the local modes of individual members.