Engineering Guides

Finite element analysis, practical notes

FEA field notes

Practical rules for linear static analysis. Each comes with a live model that shows the mistake it prevents. Readable on its own.

About these notes

These are rules for linear static structural analysis, the kind you run to check that a bracket, a frame or a housing is stiff and strong enough. Most of them are about one thing: making sure the number you report is a property of the part and not of the model.

Every FE program will give you a colourful result for almost any input. The software checks that the equations are solvable, not that they describe your part. The rules below are the checks it can’t do for you.

They are numbered so you can point to them in a design review. A one-page checklist at the end repeats all of them. The figures are live models solved in your browser, so you can poke at each failure mode yourself.

Know the answer before you mesh

Before you build the model, work out roughly what it should say: a beam formula, a pressure-vessel formula, a free-body diagram. It takes ten minutes and catches the errors no amount of mesh refinement will fix: wrong units, a load applied to the wrong face, a missing support, a material entered in psi.

For the bracket above (1000 N tip load, arms 40 mm wide and 5 mm thick), the moment at section A–A is M=1000×80=80 000M = 1000 \times 80 = 80\,000 N·mm, so

σ≈6Mt b2+Ft b=6⋅80 0005⋅402+10005⋅40=60+5=65 MPa.\sigma \approx \frac{6M}{t\,b^2} + \frac{F}{t\,b} = \frac{6 \cdot 80\,000}{5 \cdot 40^2} + \frac{1000}{5 \cdot 40} = 60 + 5 = 65 \text{ MPa}.

The FE model agrees within a few percent. That agreement is what earns you the right to trust the parts of the result that a hand calculation can’t reach.

R1.1Estimate the answer by hand before you build the model. Disagreement by more than a factor of two means the model is wrong until proven otherwise.

Two more checks are nearly free and catch most of what is left:

R1.2Check that the reaction forces sum to the applied loads, in every direction.

R1.3Animate the deformed shape at exaggerated scale. If it moves in a way the real part cannot, the supports are wrong.

Figure 1 Free-body check for the L-bracket. At section A–A the arm carries a bending moment F × 80 mm and an axial force F. The beam formula gives 65 MPa; the FE model gives about 64 MPa once the mesh is fine enough.

Converge the number you care about

A single FE run tells you nothing about its own accuracy. The error depends on element size, element type and how fast the true solution varies, and the only practical way to see it is to change the mesh and watch what moves.

Do a convergence study on the quantity you will actually report: the peak stress in a fillet, the deflection at a sensor, the first natural frequency. Run three or more meshes, each roughly twice as fine as the last in the region that matters, and plot the result against the number of unknowns. You are looking for the curve to flatten.

Refine where the gradients are, not everywhere. Doubling the global mesh density of a 3D model multiplies the unknowns by about eight. Doubling it only around the fillet you care about costs almost nothing.

R2.1Run at least three mesh densities and plot the quantity you will report against the number of unknowns.

R2.2Call it converged when the last refinement changes that quantity by less than about 2–5 %. Displacements converge first, stresses later, peak stresses last.

Figure 2 Tip deflection of the 100 × 10 mm cantilever for two element types as the mesh is refined, normalised by beam theory. Both curves flatten towards the same answer. The flat part is where you want to be; the shaded band is ±2 %.

Read the stress jumps

Stress in a displacement-based FE model is discontinuous between elements. Each element computes its own stress from its own nodal displacements, and neighbours rarely agree exactly. Post-processors hide this by default. They show averaged nodal stress, which makes smooth, reassuring contour plots.

The disagreement is useful information. Switch to unaveraged (element) stress, or ask for the difference between the two. Where neighbours disagree strongly, the mesh cannot represent the stress gradient there, and the averaged number understates how uncertain it is. Most commercial codes can plot this directly, as a stress error or energy error estimate. It is also what their adaptive meshers use to decide where to refine.

The check has a blind spot, and the figure shows it. In a smooth region a coarse mesh can be uniformly wrong. At section A–A on the coarsest mesh, both the averaged and unaveraged values read 43 MPa, against a converged 64 MPa. They agree with each other perfectly and are both a third too low. Jumps detect local trouble. Only a convergence study detects global coarseness.

R2.3Compare averaged and unaveraged stress where you report a peak. A gap of more than about 10 % means the mesh is too coarse there; a small gap does not prove convergence.

Figure 3 The 2D bracket again, three ways. Unaveraged, each element shows its own constant stress. Averaged, the same results smoothed across elements, which is what most post-processors show by default. Difference, the jump between each element and its smoothed value. At the corner B the gap is 30–45 % on every mesh. At section A–A it is within 2 %, even on meshes where both values are a third too low.

Some stresses never converge

Linear elasticity predicts infinite stress at some geometric features. Near the tip of a sharp re-entrant corner, the stress field behaves like

σ∼rλ−1,\sigma \sim r^{\lambda - 1},

where rr is the distance to the corner and λ<1\lambda < 1 depends on the corner angle. For a 90° inside corner (270° of material) λ≈0.544\lambda \approx 0.544, so σ∼r−0.456\sigma \sim r^{-0.456}. Smaller elements sample closer to r=0r = 0 and report a larger number. The peak you see is set by your element size, not by the part.

The usual offenders:

  • sharp re-entrant corners, like the one at B;
  • point loads and point supports (a finite force on zero area);
  • the edges of a fully clamped face;
  • bonded joints between materials with different stiffness.

Real parts have radii, and real loads spread over a finite area, so the infinity is an artefact of the idealisation. The stress away from the singularity is still trustworthy; Saint-Venant’s principle confines the disturbance to a region about the size of the feature.

R3.1Never report a stress at a sharp re-entrant corner, a point load, a point support or the edge of a clamped face. Those numbers are set by your mesh, not by the part.

Figure 4 The same bracket at eight mesh densities. The stress at section A–A converges to the hand calculation. The stress at the sharp inner corner B grows with every refinement, without limit. Neither the material nor the load changed; only the mesh did.

Model the radius you will make

If the peak at a corner matters, for fatigue, a brittle material or a tight margin, the fix is not a finer mesh. It’s better geometry. Put the real fillet radius into the model, then refine the fillet until the peak stops moving.

The figure shows both versions of the same 3D bracket under the same load:

  • Sharp corner. Every halving of the element size raises the peak by roughly 40 %. That is the r−0.456r^{-0.456} singularity from the previous section at work, now in a full 3D model with 180 000 unknowns. No mesh is fine enough, because there is no answer to converge to.
  • 2 mm fillet. The peak changes by less than 5 % between the coarsest and finest mesh. That number is real. You can compare it with an allowable, or feed it into a fatigue calculation.

Note what didn’t change: the displacement. Stiffness is a global property and barely notices the corner. That’s why a model can be perfectly good for deflection and meaningless for peak stress, with the same mesh.

How fine is fine enough on a fillet? A useful starting point is three or four quadratic elements along a 90° arc, then one more refinement to check.

R3.2If the corner matters (fatigue, brittle material), model its real radius and refine until the peak converges.

Figure 5 The angle bracket from chapter 1, solved eight times. With a sharp inner corner, the peak stress climbs from 138 to 365 MPa as the elements shrink from 2 to 0.3 mm, and would keep climbing. With the 2 mm fillet the part will actually have, it settles at 129 MPa within a few percent. The tip displacement is about 1.0 mm in all eight models.

Linear elements are stiff in bending

A linear tetrahedron or triangle has constant strain inside each element. Bending needs strain that varies linearly through the depth. With only a few elements through the thickness, the mesh can only bend by distorting in shear. That costs energy the real part doesn’t spend, so the model comes out too stiff: deflections too small, stresses too low, natural frequencies too high. Bilinear quads and bricks suffer from a milder form of the same problem, known as shear locking.

Quadratic elements (10-node tetrahedra, 20-node bricks) have linearly varying strain inside each element and bend correctly with far fewer layers. In the figure, the 10-node tets are within 1 % of beam theory on a mesh where the 4-node tets miss more than half the deflection. For thin walls, shell elements are built for exactly this and are much cheaper than solids.

Automatic meshers produce tetrahedra. If yours offers a choice, choose quadratic. For the same accuracy, a quadratic mesh is nearly always cheaper than a linear one.

R4.1Default to quadratic elements (10-node tetrahedra, 20-node hexahedra) for solid parts.

R4.2Linear tetrahedra and triangles need many layers through the thickness to bend correctly. Prefer quadratic elements, or shells for thin walls.

Figure 6 A steel cantilever, 100 × 10 × 10 mm, clamped at one end with 100 N at the tip, meshed with tetrahedra as an automatic mesher would. Same mesh, two element types. Linear tets give 46 % of the true deflection at 5 mm and 83 % at 2.5 mm; quadratic tets give 99 % on either. The deformed shapes are drawn at the same magnification.

Supports are assumptions

A fixed constraint in an FE model is infinitely stiff. No real support is. Bolted flanges flex, welds have finite size, the bench a part sits on deforms. Fixing a whole face forbids even the Poisson contraction that would happen next to any real support. That creates artificial stresses along the edges of the face and makes the model stiffer than the part.

The block in the figure has an exact answer: under a uniform pressure pp, the stress everywhere is pp. The roller support reproduces it. The clamped one doesn’t, and its peak is a singularity of the kind in rule 3: refine the mesh and it grows.

Better options, roughly in order of effort:

  • Constrain only what’s needed to stop rigid-body motion (three translations and three rotations in 3D), using symmetry planes where the geometry allows.
  • Use elastic supports, or include a piece of the surrounding structure.
  • Model the bolts and the contact between parts.

R5.1A fixed support is infinitely stiff. Use the least restrictive constraints that still stop rigid-body motion, or model the adjacent structure.

R5.2Look at how reaction forces are distributed across a support. Spikes at its edges are usually an artefact of the constraint.

Figure 7 A block under uniform pressure. On rollers it expands sideways freely and the stress is exactly the applied pressure everywhere. Clamped, its base can't expand, so the model invents a stress concentration at the corners and a non-uniform field throughout.

Apply loads the way the part receives them

A force applied to a single node is a force on zero area: the stress under it is infinite in the continuum, and in the FE model it is whatever the mesh makes it. It is the load-side twin of the sharp corner in rule 3, and it fails the same way: refine, and the number grows.

Real loads arrive over a contact patch: a bolt head, a bearing, a weld line, a hand. Model that area, even roughly, and the local stress becomes a real, mesh-independent quantity. If you don’t know the area or don’t care about the local stress, a point load is acceptable, but then the stresses within a distance of roughly one patch size of it are meaningless (Saint-Venant again), and you report stresses only further away.

Two related habits:

  • Remote loads and rigid connections (RBE2, MPC, coupling) spread a force over a face, but a rigid coupling also stiffens that face completely. A distributing coupling (RBE3) spreads the force without adding stiffness, and is usually the better default.
  • Pressure is a force per area, and the area is the deformed one in a nonlinear analysis. In a linear analysis the difference is negligible.

R5.3Never apply a force to a single node or edge if you care about the stress near it. Spread it over the real contact area.

Figure 8 A 60 × 20 mm aluminium block, 10 mm thick, on rollers, carrying 1 kN. Applied at a single node, the peak stress under the load doubles every time the mesh is refined (12, 25, 50, 100 MPa) and has no limit. Spread over the 10 mm patch the load really acts on, it converges to about 9 MPa, just under the nominal bearing pressure of 10 MPa.

Use symmetry, carefully

If geometry, material, loads and supports are all mirror-symmetric about a plane, the displacement field is too. On that plane, the displacement normal to it is zero and the in-plane displacements are free. That is a symmetry boundary condition, a roller on the cut face. A half model needs half the unknowns, a quarter model a quarter. Solve time drops even faster, and the savings can go into a finer mesh where it matters.

It goes wrong in four predictable ways:

  • The supports aren’t symmetric. A part bolted at one end and free at the other is not symmetric, however symmetric its shape.
  • Fixing the plane instead of rollering it. A fully fixed cut face is a clamp, with all the artefacts of rule 5.
  • Antisymmetric loads. A load that flips sign across the plane needs the opposite condition: in-plane displacements zero, normal displacement free.
  • Modal and buckling analyses. A symmetric structure has antisymmetric modes too, and a half model with symmetry conditions silently omits all of them. The first buckling mode is often one of them.

R5.4Use symmetry only when geometry, material, loads and supports are all symmetric. Cut faces get rollers, not clamps. Never use it for modal or buckling analysis.

Figure 9 A plate with a central hole under tension has two planes of symmetry. A quarter of it, with the normal displacement fixed on each cut plane and the in-plane displacement left free, gives exactly the same stresses with a quarter of the unknowns.

Use one consistent unit system

Most FE programs have no units. They solve whatever numbers you give them. Your inputs have to be consistent, meaning the derived units work out to force = mass × acceleration. The two systems that cover nearly all mechanical work:

QuantitySImm–tonne–s
Lengthmmm
ForceNN
Masskgt (1000 kg)
Timess
Stress, modulusPaMPa
Steel, EE2.1×10112.1 \times 10^{11} Pa210 000210\,000 MPa
Steel, density78507850 kg/m³7.85×10−97.85 \times 10^{-9} t/mm³
Gravity9.819.81 m/s²98109810 mm/s²

The mm–tonne–s system is popular because geometry comes from CAD in millimetres and stresses come out in MPa, but its mass unit is a tonne. Enter steel’s density as 7.85e-6 (kg/mm³) and every natural frequency comes out 1000≈32\sqrt{1000} \approx 32 times too low. Static results without gravity don’t involve density, so the mistake hides until somebody runs a modal analysis.

R6.1Choose one consistent unit system, write it in the model, and check density twice.

Report the right stress

The default contour plot is almost always von Mises stress. That is the right measure for one question only: does a ductile metal start to yield? It is always positive, so it can’t tell tension from compression. It also says nothing about the direction a crack would grow.

QuestionUseCompare with
Does a ductile metal yield?von MisesYield strength Rp0.2R_{p0.2}
Does a brittle material crack (cast iron, ceramics, glass, many plastics)?Largest principal stress σ1\sigma_1Tensile strength
Fatigue at a weld or notchPrincipal stress range at the hot spotS–N curve for that detail
Does a slender part buckle?Not a stress questionBuckling load factor
Composites, woodStresses in material axesPly or grain allowables

Two further traps. First, check the sign. A high von Mises stress on a face in compression is far less dangerous for fatigue than the same value in tension. Second, check where the value is reported. A peak at a singularity (rule 3) or an over-constrained support (rule 5) is an artefact, whatever stress measure you plot.

R6.2Pick the stress measure that matches the failure mode: von Mises for ductile yield, maximum principal for brittle fracture, principal stress range for fatigue.

Know when linear stops being true

A linear static analysis rests on three assumptions. Break any of them and the result is not “approximately right”; it is the answer to a different question.

  • Linear material. Stress is proportional to strain. Above yield it isn’t. A linear model that reports 400 MPa in a 275 MPa steel is not telling you about plasticity; it is outside its validity. Use it to say it yields, then run a nonlinear material model if you need to know by how much.
  • Small deformation. Equilibrium is written on the undeformed geometry. When a plate deflects by more than about half its thickness, membrane stretching stiffens it and the linear answer overpredicts deflection and stress. Slender members in compression can buckle long before any linear stress limit is reached.
  • Fixed contact. Contact and gaps don’t open or close. Two parts bolted together are either fully bonded or not connected at all.

R7.1A linear static result is only valid if stresses are below yield, deflections are small compared to the part, and contact does not change. Check all three.

Sanity-check a modal analysis

A modal analysis has fewer obvious failure modes than a stress analysis, and fewer obvious symptoms when it fails. Four checks catch most problems.

Count the rigid-body modes. Run it once with no supports. A 3D part should have exactly six modes at (numerically) zero frequency. More means a part of the model is disconnected or a mechanism. Fewer means something is grounded that shouldn’t be.

Check the first frequency by hand. For a cantilever of length LL,

f1=1.87522πEIρAL4.f_1 = \frac{1.875^2}{2\pi}\sqrt{\frac{EI}{\rho A L^4}}.

For the 100 × 10 × 10 mm steel cantilever in rule 4 that gives about 835 Hz. Most parts can be reduced to a beam, a plate or a mass on a spring well enough to land within a factor of two.

Check density and units. Static analyses don’t use density. Modal analyses depend on it directly, and f∝1/ρf \propto 1/\sqrt{\rho}. A density in kg/mm³ instead of t/mm³ (rule 6) makes every frequency 1000≈32\sqrt{1000} \approx 32 times too low.

Look at the modes, not just the numbers. A mode that wiggles a single cover plate or a cable is real but rarely relevant. Check the effective mass of each mode, and keep adding modes until you have captured most (typically over 90 %) of the mass in each direction that matters.

R7.2In a modal analysis, count the rigid-body modes of the free part, check the first frequency by hand, double-check density, and capture most of the effective mass.

Bolted joints are not glue

The quickest way to connect two parts in an FE model is to bond their contact faces. For a bolted joint that is rarely what happens. A preloaded bolt clamps the parts together over a limited area around the bolt head, and outside it the faces can separate and slide. Bonding them makes the joint too stiff, moves the load path, and hides the bending the bolt actually sees.

Options, from cheap to faithful:

  • Bonded faces. Acceptable for global stiffness when the joint is far from the region you care about.
  • Bolt as a beam, coupled to the clamped areas under the head and the nut, with the faces in contact. Captures the load path and the bolt force.
  • Solid bolt with preload and frictional contact. Needed when the joint itself is the question: separation, slip, bolt fatigue. This is a nonlinear analysis.

Even then, the FE model is not where bolt strength is usually decided. Standard methods such as VDI 2230 size the bolt and the preload from the joint stiffness and the external load. Use the FE model to provide the loads at each bolt.

R8.1Do not bond bolted faces where the joint matters. Model the bolt, its preload and the contact, or size the bolt separately with the loads from the model.

Write down what you assumed

An FE result without its assumptions can’t be checked, reused or defended. A good report, or even a good comment in the model file, records:

  • Units and the material data with its source: EE, ν\nu, density, allowables.
  • Geometry simplifications: removed fillets, holes and threads, and anything merged or replaced by a beam or a mass.
  • Element type and size, and where the mesh was refined.
  • Supports and loads, each with a sentence on what real thing it represents.
  • Convergence evidence for every number you report (rule 2).
  • Validity checks: reactions, hand calculation, stresses below yield, small deflections (rules 1 and 7).
  • What the result is not: stresses ignored at singularities, regions outside the scope.

The rule of thumb is that a colleague should be able to rebuild the model from the report, and get the same answer.

R9.1Record units, materials, simplifications, mesh, supports, loads, convergence evidence and validity checks with every result.

Checklist

Tick these off before you put an FE result in a report or a design review.