Table of Contents
What is Linear Static Analysis?
Linear static analysis is the most fundamental — and most commonly performed — type of structural finite element analysis. It predicts the deformation of a structure under applied loads, assuming three conditions are all simultaneously satisfied:
- Material linearity — stress is proportional to strain: \(\boldsymbol{\sigma} = \mathbf{C}\,\boldsymbol{\varepsilon}\) (Hooke's Law holds throughout)
- Geometric linearity — deformations are small enough that the original geometry can be used to write equilibrium equations (the structure's shape does not change appreciably under load)
- Static loading — loads are applied slowly (quasi-statically), so inertia forces and damping are negligible; the structure is in static equilibrium at all times
When all three conditions hold, the structural problem reduces to solving a single linear system of algebraic equations — which modern solvers handle with remarkable efficiency, enabling models with tens of millions of degrees of freedom to solve in minutes on workstations.
Linear static analysis is the correct tool for a vast range of engineering problems: structural frames under service loads, pressure vessels at operating conditions, machine components under steady forces, and electronic enclosures subject to gravity and thermal expansion in the linear regime. It is the indispensable first step that every structural simulation engineer must master before advancing to nonlinear or dynamic analysis.
Why do we call it "linear" — what exactly stays linear in this analysis type?
Three things must stay linear simultaneously. First, the material: stress must be proportional to strain — you're in the elastic range, Hooke's Law applies, and if you remove the load the structure returns exactly to its original shape. Second, the geometry: displacements must be small compared to the structure's dimensions — maybe less than 1% of the characteristic length as a rough rule. This means the stiffness matrix can be computed once on the original geometry and stays valid throughout the loading. Third, the boundary conditions: they must not change during the analysis — no contact surfaces opening or closing, no supports lifting off. The moment any of these three breaks down, you're in nonlinear territory and the stiffness matrix must be updated as the solution progresses.
What's a realistic example where linear static is definitely the right choice, and one where it would give wrong answers?
Right choice: A steel bracket holding a shelf — the steel is far below yield, the deflection is a fraction of a millimeter, and the bolts stay firmly seated throughout. Linear static gives you the correct stress and deflection; the solution converges fast and the results are reliable.
Wrong choice: A rubber seal being compressed 30% of its height into a groove. Rubber is hyperelastic (highly nonlinear material), the 30% compression means the geometry has changed dramatically (geometric nonlinearity), and as it squashes it makes contact with the groove walls (contact nonlinearity, changing boundary conditions). If you run linear static on this, you might get numbers — but they would be completely wrong, potentially by factors of 10. You need a nonlinear solver like Abaqus/Standard with finite strain and contact formulation.
The Governing Equation: [K]{u} = {F}
The central equation of linear static FEM is deceptively simple in appearance:
Where:
- \([\mathbf{K}]\) is the global stiffness matrix [N/m] — assembled from element stiffness matrices; symmetric, positive semi-definite. Its size is \(n_{\text{DOF}} \times n_{\text{DOF}}\) where \(n_{\text{DOF}}\) is the total number of degrees of freedom.
- \(\{\mathbf{u}\}\) is the global displacement vector [m] — the unknowns we solve for (translations and rotations at each node).
- \(\{\mathbf{F}\}\) is the global force vector [N] — assembled from nodal forces, pressure loads, body forces, and prescribed thermal loads converted to equivalent nodal forces.
How the Stiffness Matrix is Built
Each element has a local stiffness matrix \([\mathbf{k}^e]\), computed by integrating the material stiffness through the element volume:
Where \([\mathbf{B}]\) is the strain-displacement matrix (derivatives of shape functions with respect to spatial coordinates) and \([\mathbf{C}]\) is the material constitutive matrix (encodes Young's modulus, Poisson's ratio, and material symmetry). The integral is evaluated numerically using Gaussian quadrature. Element matrices are then assembled into the global \([\mathbf{K}]\) by the direct stiffness method — each element's contribution is added to the rows and columns corresponding to its node global DOF numbers.
Solving the System
After applying displacement boundary conditions (which eliminate the rows and columns corresponding to constrained DOFs, or equivalently introduce penalty terms), the resulting reduced system \([\mathbf{K}_r]\{\mathbf{u}_r\} = \{\mathbf{F}_r\}\) is solved by a direct sparse solver (LU factorization, often using algorithms like PARDISO, MUMPS, or SuperLU) or an iterative preconditioned conjugate gradient solver. For large models, iterative solvers with AMG (algebraic multigrid) preconditioners scale more favourably.
Post-Processing: From Displacements to Stresses
Displacements are the primary unknowns. Strains are recovered by differentiation of the displacement field:
Stresses are then computed from the constitutive law: \(\{\boldsymbol{\sigma}\} = [\mathbf{C}]\{\boldsymbol{\varepsilon}\}\). Because stresses are derived by differentiating the displacement field (one order lower in polynomial), they are less accurate than displacements — this is why stress convergence studies require finer meshes than displacement convergence studies.
Assumptions and Limitations
- Material stays elastic (below yield stress)
- Deformations are small (<5% of characteristic length)
- Loads are static or quasi-static
- No contact changes during loading
- Temperature changes are modest and linear elastic thermal strains only
- Plastic deformation or creep is expected
- Large displacements or rotations occur (cables, rubber, thin shells under snap-through)
- Dynamic loading with inertia effects matters (impact, vibration)
- Contact surfaces open, close, or slide during loading
- Buckling is a concern (compressive loads in slender structures)
The Superposition Principle — A Unique Advantage
One profound consequence of linearity is the principle of superposition: the response to multiple simultaneous load cases equals the sum of responses to each load case applied separately. This means you can run a single stiffness matrix factorization and solve for dozens of different right-hand side load vectors at negligible additional cost — a major efficiency advantage for design studies and load combinations. Nonlinear solvers cannot exploit this because the stiffness matrix changes with every load step.
Key Element Types in Linear Static Analysis
1D Elements
Euler-Bernoulli Beam
The classical beam element assumes that plane sections remain plane and perpendicular to the neutral axis after bending — the Euler-Bernoulli (EB) hypothesis. This gives a 2-node element with 3 DOFs per node in 3D (two bending slopes and one torsion, plus axial). Accurate for slender beams where the span-to-depth ratio exceeds roughly 10. The transverse shear deformation is neglected, which means EB beams are overly stiff for short, deep beams — they lock.
Timoshenko Beam
Extends Euler-Bernoulli by allowing the cross-section to rotate independently of the neutral axis slope — adding a shear angle as an independent kinematic variable. This correctly captures transverse shear deformation and avoids locking for short/deep beams. In Abaqus: B21 (Euler-Bernoulli-like, 2D), B31 (Timoshenko, 3D). In ANSYS: BEAM188 uses Timoshenko theory by default.
I always just pick the default beam element in my software. When would I actually get the wrong answer by using Euler-Bernoulli instead of Timoshenko?
For typical structural beams (steel I-beams, frames, trusses), EB and Timoshenko give nearly identical results — the error is under 1% for span/depth ratios above about 10. The problem arises with short, deep members: think of a transfer beam in a concrete frame that's only 2 metres long but 1 metre deep, or a machine tool spindle, or laminated composite plates modeled as thick beams. In those cases, EB can overestimate stiffness by 20–50% because it ignores shear deformation, which is actually the dominant compliance mechanism when the element is stubby. Most modern FEM codes default to Timoshenko anyway because it's strictly more general, so in practice this is mainly something to be aware of when reading older textbooks or using legacy codes.
2D Elements
Plane Stress
For thin in-plane structures where the out-of-plane stress \(\sigma_z = 0\): thin sheets, plates loaded in their own plane. The out-of-plane strain \(\varepsilon_z\) is non-zero (the thickness changes freely). Implemented with 2D elements in the x-y plane. Typical use: sheet metal stampings, thin mounting flanges, 2D frame cross-sections.
Plane Strain
For very long structures where the out-of-plane strain \(\varepsilon_z = 0\): the structure cannot expand in the z direction because it is constrained by adjacent material (long dams, tunnels, pressure vessels in the mid-section far from end caps). The out-of-plane stress \(\sigma_z\) is non-zero and computed from the in-plane strains. In Abaqus: CPE4R (quad, reduced integration, plane strain).
Axisymmetric Analysis
For structures with a rotational axis of symmetry (cylinders, pressure vessel heads, discs, O-rings, bolts), the 3D problem collapses to a 2D cross-section in the r-z meridional plane. The full 3D stress state is recovered using the axisymmetric strain-displacement relationship that includes the circumferential (hoop) strain \(\varepsilon_{\theta\theta} = u_r/r\). In Abaqus: CAX4R; in ANSYS: PLANE183 with axisymmetric keyoption. Efficiency gain: reduces a 3D model with millions of cells to a 2D model with thousands.
Shell Elements
Kirchhoff-Love Shell
Thin shell theory based on the Kirchhoff hypothesis (normals remain normal to the mid-surface after deformation; no transverse shear). Accurate for thin structures where thickness/span < 1/20. Requires C1 continuity of shape functions, which limits element choices. Not suitable for thick shells.
Mindlin-Reissner (Thick) Shell
Adds transverse shear degrees of freedom — the normal is allowed to rotate independently of the mid-surface slope. This avoids the C1 requirement and handles both thin and moderately thick shells. The dominant shell element in commercial codes: S4R in Abaqus (4-node quad, reduced integration), SHELL181 in ANSYS. Reduced integration (1 in-plane integration point for S4R) prevents shear locking and is generally recommended unless you have hourglassing concerns.
3D Solid Elements
| Element | Nodes | Integration Order | Abaqus Name | Notes |
|---|---|---|---|---|
| Linear tet (TET4) | 4 | 1 point | C3D4 | Constant strain; poor accuracy; avoid for stress analysis — use only for non-critical mesh fill regions |
| Quadratic tet (TET10) | 10 | 4 points | C3D10 | Midside nodes enable curved faces; good accuracy; automeshes complex geometry easily; preferred over TET4 |
| Linear hex (HEX8) | 8 | 2³ = 8 points (full) or 1 point (reduced) | C3D8 / C3D8R | C3D8R (reduced integration) is efficient and avoids volumetric locking; requires hourglass control |
| Quadratic hex (HEX20) | 20 | 3³ = 27 or 14 points | C3D20 / C3D20R | High accuracy per element; preferred for stress concentration regions; more expensive per element than HEX8 |
| Quadratic wedge (PENTA15) | 15 | 9 points | C3D15 | Transition element between hex and tet regions in mixed meshes |
Special Elements
- RBE2 (rigid body element) — distributes force/moment from one node (independent) to many nodes (dependent) with rigid kinematic constraint. Used for bolted connections, load application points. In Abaqus:
*RIGID BODYor MPC type BEAM/TIE. - RBE3 (interpolation constraint) — distributes load from one reference node to many dependent nodes weighted by distance, without adding artificial stiffness. Preferred for load application where stiffening the joint is undesirable. Abaqus:
*MPC type RBE3. - Spring element — models connectors with specified axial or lateral stiffness [N/m]. Useful for foundations, bushings, mounting brackets, and simplified joint behavior.
- Gap/contact element (linear regime) — in the linear regime, gaps can be pre-opened or pre-closed; linear gap elements model one-way stiffness (compression only, no tension).
Convergence and Mesh Refinement for Static Problems
The finite element solution converges to the exact solution of the boundary value problem as the mesh is refined — provided the elements satisfy the completeness and compatibility requirements (the patch test). In practice, "convergence" means that refining the mesh further does not change your quantity of interest (displacement, maximum stress, reaction force) by more than an acceptable tolerance.
What Converges Faster: Displacements or Stresses?
Displacements converge faster than stresses — typically one polynomial order faster. For linear elements (complete first-order polynomial basis), displacements converge at \(O(h^2)\) (second order in element size h) while stresses converge at \(O(h^1)\) (first order). For quadratic elements, displacements converge at \(O(h^3)\) and stresses at \(O(h^2)\). This is why stress-critical analyses should use quadratic elements (TET10, HEX20, S8R) and require finer meshes than displacement-dominated problems.
Stress Concentrations and Singularities
At sharp re-entrant corners (90° notches in CAD geometry), the exact elasticity solution is a stress singularity — stress theoretically approaches infinity as mesh is refined. A linear static FEM model will faithfully reproduce this: the peak stress at the corner will keep increasing with mesh refinement without bound. The correct response is:
- Add a fillet radius to represent the actual manufactured geometry (no real corner is perfectly sharp)
- Use submodeling (cut-boundary method): run a coarse global model first, then apply the global displacements as boundary conditions to a refined local model of the stress concentration region
- Use stress intensity factors or J-integral if the sharp notch is intentional (fracture mechanics approach)
My stress at a bolt hole keeps increasing every time I refine the mesh. How do I know when it's "converged"?
If the mesh at the bolt hole is creating a sharp corner in your CAD model, then what you're seeing is a genuine singularity and it will never converge — you need a fillet radius. If you've already got a proper fillet, here's how to do a mesh sensitivity study properly:
Run three meshes: coarse, medium (half the element size), fine (quarter the element size). Extract the peak von Mises stress from each. If the coarse-to-medium change is, say, 15% and the medium-to-fine change is only 3%, your solution is converging and you can use the fine mesh result with confidence. If the stress is still changing by more than 5% between the two finest meshes, keep refining or switch to quadratic elements.
One practical tip: use quadratic elements (C3D10 or C3D20R) in the vicinity of the bolt hole — they capture stress gradients far more accurately per DOF than linear elements. You can use a local mesh refinement zone around the hole rather than refining the entire model.
Articles in This Section (30+ topics)
Organized by element type and analysis technique:
Beam Elements
2D Formulations
Shell Elements
3D Solid Elements
Special Elements & Techniques
Thermal Stress (Linear Regime)
Verification: Patch Test and Convergence Study
The Patch Test
The patch test is the fundamental check that a finite element formulation is correct. It verifies that a patch of elements — with arbitrary node positions and a distorted mesh — can exactly reproduce a constant strain state when the correct displacements are applied. Any element that passes the patch test will converge to the correct solution as the mesh is refined. If an element fails the patch test, no amount of refinement will give the right answer.
In practice, you apply a uniform constant-stress analytical solution (e.g. pure tension, pure shear) as displacement boundary conditions on the outer nodes of a small distorted mesh patch. The interior node stresses should exactly reproduce the applied stress state. This is the first thing researchers do when implementing a new element formulation.
Mesh Convergence Study Protocol
- Define your quantity of interest (QOI) — usually the maximum von Mises stress in a critical region, or a peak displacement
- Run at least three mesh densities: coarse, medium (half element size), fine (quarter element size)
- Plot QOI vs. element size or number of DOFs. A monotonically converging sequence confirms correct formulation.
- Apply Richardson extrapolation to estimate the exact solution: \(Q_{\text{exact}} \approx Q_h + \frac{Q_h - Q_{2h}}{2^p - 1}\) where \(p\) is the convergence order (2 for linear elements on displacements)
- Report the solution only when QOI changes < 2–5% between the two finest meshes
When to Go Nonlinear
Linear static analysis is not always appropriate. Here are the clear indicators that a nonlinear analysis is required:
| Nonlinearity Type | Physical Symptom | Typical Threshold | Required Analysis |
|---|---|---|---|
| Material nonlinearity | Plastic deformation, yielding, creep, rubber/hyperelastic behavior | Stress exceeds yield strength, or rubber deflection > a few % strain | Abaqus/ANSYS with plasticity model, Ramberg-Osgood, hyperelastic (Mooney-Rivlin, Neo-Hookean) |
| Geometric nonlinearity | Large deflections, snap-through buckling, cables and membranes | Displacement > ~5% of characteristic length; thin shell snap-through | NLGEOM=ON in Abaqus; geometric nonlinear in ANSYS with incremental-iterative (Newton-Raphson) solver |
| Contact nonlinearity | Surfaces opening/closing, sliding interfaces, fretting | Any situation where contact status changes | Abaqus contact pairs, ANSYS contact elements (CONTA174/TARGET170), augmented Lagrangian or penalty method |
| Dynamic effects | Impact, vibration, shock loading, rapidly applied forces | Load application time < ~3× lowest natural period | Abaqus/Explicit or ANSYS Transient Structural; modal superposition for linear dynamic |
| Buckling | Compressive loads in slender structures; post-buckling behavior | Compressive load approaches linear buckling load multiplier < 3–4 | Linear eigenvalue buckling (conservative); nonlinear Riks arc-length for post-buckling path |
My colleague said "always run nonlinear — it's more accurate." Should I just always use a nonlinear solver to be safe?
That advice sounds safe but is actually problematic in practice. Nonlinear analyses are dramatically more expensive — a typical nonlinear run requires 10–100 load increments, each requiring several Newton-Raphson iterations, each iteration solving a system as large as the linear analysis. So a nonlinear analysis might take 50–100× longer.
More seriously, nonlinear analyses are more fragile — convergence is not guaranteed. An ill-posed model or poorly chosen solver settings can cause a nonlinear analysis to fail to converge, and diagnosing why is non-trivial. A linear model gives you a result (which might be wrong in the right circumstances), but at least it's a result you can sanity check.
The correct engineering approach is: understand the physics, identify which sources of nonlinearity are actually present and significant in your problem, and run the simplest analysis that captures those effects. For most routine structural checks — bracket stiffness, bolt load distribution, mounting footprint stresses under service load — linear static is not only sufficient but the right tool.
Want to Verify Your Linear Static Model?
Our V&V section contains benchmark cases for linear static analysis with exact analytical solutions — patch tests, cantilever beams, thick cylinders, and plate bending problems with published reference data.
Browse V&V Benchmarks