CFD vs FEA: why fluids use finite volumes and solids finite elements, where heat transfer joins them, and how a CFD error becomes a stress error.

DEEB-FLOW illustration of total deformation in a flange model
Interactive concept illustration: a bolted flange joint with eight bolts and a gasket. Move the pointer across to raise the internal pressure: below the opening pressure the preload holds the faces shut; above it the faces part, the bolts stretch and the joint leaks. The gap is exaggerated.

A common question with a better answer

“Should we do CFD or FEA on this heat exchanger?” It is one of the most common questions an analyst hears, and the honest answer is usually “both, in a particular order, and the order matters more than the choice”.

CFD vs FEA, in short: CFD (computational fluid dynamics) predicts how fluids move and carry heat; FEA (finite element analysis) most often predicts how solids deform, vibrate and carry stress. CFD answers questions about flow, pressure drop, mixing and heat transfer coefficients; FEA answers questions about stress, displacement, fatigue and natural frequencies. Where heat or force passes from a fluid into a structure, one model’s output becomes the other’s input, and the error passes across with it. This article explains why the two grew different mathematics, where they meet, and, with numbers, how an uncertainty in a CFD result becomes an uncertainty in a stress.

Why “CFD vs FEA” compares the wrong things

The phrase pairs an application with a method. As Cadence puts it in one of the better vendor explanations, FEA is a method for constructing a numerical scheme, while CFD is an application area of computational methods. Finite elements can solve fluid problems, and finite volumes can solve solid problems. The fair pairs are these:

By applicationBy method
Fluid simulation (CFD) against structural simulationThe finite volume method (FVM) against the finite element method (FEM)

In practice the two pairs line up: most commercial CFD codes are finite-volume, and most structural codes are finite-element. The reasons are mathematical, and they explain a good deal about how each kind of model fails.

Why fluids are mostly solved with finite volumes

A finite-volume code writes the conservation law for each cell in integral form, with terms for storage, convection, diffusion and sources:

d/dt ∫_V ρφ dV + ∮_A ρφ (u·n) dA = ∮_A Γ ∇φ·n dA + ∫_V S dV

Everything leaving one cell through a face enters its neighbour through the same face, with the same computed flux. Sum over all cells and the internal fluxes cancel exactly. Mass, momentum and energy are conserved globally to round-off, whatever the mesh quality, which is a property an engineer can check in the mass balance of every run and a property a fluid model must have. A pressure-drop calculation that leaks 2% of the mass is not a pressure-drop calculation.

The second reason is convection. The convective term carries information in one direction, downstream. The equations are non-self-adjoint, and a numerical method that treats upstream and downstream symmetrically struggles. In finite volumes the cure is natural: interpolate face values with a bias towards the upwind side, with limiters that keep the solution bounded. This is where the cell Péclet number comes from, and it is the subject of the worked example in our article on learning CFD: central differencing oscillates when the cell Péclet number exceeds 2, and first-order upwinding hides its error as extra diffusion.

Why solids are mostly solved with finite elements

Linear elasticity has a different structure. Its weak form, the starting point of every structural finite-element code, holds for every admissible test function v:

∫_V σ(u) : ε(v) dV = ∫_V f·v dV + ∮_A t·v dA

The operator is symmetric and positive definite. That has three consequences that structural analysts rely on every day. The stiffness matrix is symmetric, which makes the solvers efficient. The Galerkin method, in which test and trial functions come from the same space, gives the best possible approximation in the energy norm for a given mesh, a result known as Céa’s lemma. And higher-order elements (quadratic, curved, shell and beam formulations) fit naturally, so stress concentrations at fillets and holes can be resolved with modest element counts.

Solid mechanics has no convection, so it never meets the problem that made finite volumes attractive for fluids. It has a variational principle, so it gets the problem that finite elements are best at.

Where each method meets the other’s problem

Push either method into the other’s territory and the same mathematical difficulties appear under different names.

Finite elements on convection. Standard Galerkin elements applied to a convection-dominated flow oscillate exactly as central differencing does; on a uniform 1D mesh with linear elements the two schemes are the same. The classical remedy is the streamline-upwind Petrov-Galerkin (SUPG) formulation of Brooks and Hughes (1982), which modifies the test functions to add diffusion along the streamlines only. For 1D convection-diffusion the optimal stabilisation parameter is:

τ = (h / 2|u|) · [coth(Pe_h) − 1/Pe_h], Pe_h = |u| h / (2Γ)

With it, the linear-element solution is exact at the nodes. Finite-element CFD works well, and several commercial multiphysics codes use it. It needs that stabilisation chosen with care, and as the Cadence article notes, the right form is problem-specific.

Incompressibility, in both. Nearly incompressible solids (rubber, with Poisson’s ratio approaching 0.5) make low-order displacement elements lock: they become artificially stiff. The cure is a mixed formulation with pressure as a separate unknown, and the pressure and displacement spaces must satisfy a compatibility condition, the inf-sup or LBB condition. Incompressible flow has the identical constraint. In collocated finite volumes it shows up as checkerboard pressure fields, and the cure is the Rhie-Chow interpolation that every commercial CFD code uses. The same mathematics in a different vocabulary, one of the nicer facts in computational mechanics.

Thin structures. Linear solid elements in bending suffer shear locking; shell and beam elements exist because a thin plate meshed with bricks is both expensive and too stiff. A CFD engineer meshing a thin baffle meets the inverse problem: how to represent a wall with no thickness in a volume mesh.

The lesson for a manager is simple. Either kind of code can be pushed into the other’s domain. Doing so moves you from well-trodden defaults into choices that need a specialist.

Heat transfer: where the two meet

A structural FEA model can solve heat conduction in the solid very well. What it cannot compute is the heat transfer coefficient h at the surface, because that depends on the flow. It needs h as an input. Two questions decide whether a correlation or textbook value is good enough, or whether CFD has to supply h.

  • Is the flow simple enough for a correlation? Fully developed flow in a straight tube, a flat plate, a cylinder in crossflow: correlations exist, and their scatter is known. Impinging jets, separated flow behind a step, natural convection in an enclosure, mixing of streams at different temperatures: the local h varies by large factors across the surface, and a single value is a guess. When the convection coefficients are uncertain, or natural convection matters, use CFD.
  • Does the solid care about the local value? The Biot number, Bi = hL/k, compares the resistance to conduction inside the solid with the resistance to convection at its surface. A small Biot number means the solid is nearly isothermal through its thickness. It does not mean the stress is small, as the example below shows.

Worked example: how a CFD error becomes a stress error

A carbon-steel wall 10 mm thick separates a hot gas from cooling water. Typical values for the steel: thermal conductivity k = 45 W/(m·K), Young’s modulus E = 200 GPa, expansion coefficient α = 12 × 10⁻⁶ 1/K, Poisson’s ratio ν = 0.3. The gas is at 500 °C with h_g = 100 W/(m²·K); the water is at 50 °C with h_w = 2,000 W/(m²·K). All values are illustrative.

The thermal resistances of the gas film, the wall and the water film act in series, per square metre:

1/h_g = 1/100 = 0.010000 m²·K/Wt/k = 0.010/45 = 0.000222 m²·K/W1/h_w = 1/2000 = 0.000500 m²·K/WR = 0.010722 m²·K/Wq = (500 − 50) / 0.010722 ≈ 42.0 kW/m²ΔT = q · t/k ≈ 9.3 K

The wall surfaces sit at about 80 °C and 71 °C. The Biot number on the gas side is 100 × 0.010 / 45 ≈ 0.02: the wall is nearly isothermal by any heat-transfer standard.

Now the stress. For a plate with a linear temperature distribution through its thickness, free to expand in its plane but restrained from bending, the surface stress is:

σ = E α ΔT / [2 (1 − ν)] = 200×10⁹ × 12×10⁻⁶ × 9.3 / 1.4 ≈ 16 MPa

Sixteen megapascals from a 9 K difference across a “nearly isothermal” wall. Now suppose the gas-side h came from a correlation, and the real flow, with recirculation near an inlet, gives 30% more or 30% less:

Gas-side h, W/(m²·K)Heat flux, kW/m²Wall ΔT, KThermal stress, MPa
70 (30% lower)30.06.711.4
100 (base case)42.09.316.0
130 (30% higher)53.511.920.4

A 30% change in h moves the stress by 27 to 29%. The reason is visible in the resistance budget: the gas film holds 93% of the total resistance, so the heat flux, and with it the wall temperature difference and the stress, scale almost one for one with h_g. Whatever uncertainty your CFD (or your correlation) carries in the heat transfer coefficient, the stress inherits nearly all of it.

Change the material to an austenitic stainless steel, with typical values k ≈ 16 W/(m·K), E ≈ 193 GPa and α ≈ 16 × 10⁻⁶ 1/K, and the same heat flux drives a wall difference of about 25 K and a stress of about 56 MPa. The fluid side barely changes; the stress more than triples. That is why neither analyst can work alone on a hot component: the CFD engineer controls q, and the structural engineer controls what q does.

When do you need to couple them, and how?

One-way coupling is enough for most industrial problems. Run the CFD, map the temperatures (or pressures) onto the structural mesh, run the FEA. It assumes the deformation of the structure does not change the flow, which is true when displacements are small compared with the gaps and boundary layers that control the flow. For a flange, a heat exchanger tube sheet or a turbine casing under steady load, this is almost always the case.

Two-way coupling (fluid-structure interaction, FSI) is needed when the deformation changes the flow appreciably: flutter, flexible membranes, valves and seals that open under pressure, blood vessels. It is expensive, and partitioned schemes, in which the fluid and structural solvers take turns, have a trap. When the structure is light compared with the fluid it moves (a thin panel in water, an artery in blood), the inertia of the fluid acts as an added mass that destabilises the exchange, a mechanism analysed by Causin, Gerbeau and Nobile (2005). Steel in air rarely meets it. Thin structures in liquids meet it often.

Conjugate heat transfer sits in between. A CFD code that includes the solid regions solves the fluid and the solid temperature together, so h never has to be guessed; the temperature field is then mapped to FEA for stress. For the worked example above, this is the right workflow whenever the gas side is not a simple correlation case.

Mapping is where good models go wrong. The two meshes almost never match: the CFD mesh is fine in the fluid boundary layer, the FEA mesh is fine at the fillets. When you transfer data between them:

  • Fields such as temperature need consistent mapping: interpolate the value at each target node.
  • Loads such as forces and heat flows need conservative mapping: the total transferred must equal the total computed. Check it. A mapped pressure load whose resultant differs from the CFD force by 5% is a 5% error added to everything downstream.
  • Times must match in transients. The peak thermal stress in a start-up often occurs early, while the surface heats faster than the core. Mapping the final steady temperature misses it.

Common mistakes, as they look on screen

  • A structural model with one heat transfer coefficient on every surface. A smooth temperature field, a plausible stress, and an error the size of the scatter in h.
  • “The wall is nearly isothermal, so thermal stress is negligible.” The worked example gives 16 MPa from 9 K.
  • A mapped temperature field with a seam. The interpolation failed where the meshes disagree, often at a fillet, which is where the stress is.
  • Two-way FSI by default. Days of computing for a deformation of a few microns that changes nothing in the flow.
  • A partitioned FSI run that diverges for a light structure in liquid. That is the added-mass instability. Refining the mesh will not cure it.
  • CFD and FEA delivered by different teams with different assumptions. Different material temperatures, different operating points, and a stress that belongs to neither.

What I would do

For a component where heat passes from a fluid into a structure, I would start with the resistance budget on paper, as in the worked example. It takes ten minutes and tells you which side controls the result. If the fluid side dominates and the flow is not a textbook case, the heat transfer coefficient has to come from CFD, preferably from a conjugate heat transfer model, and the structural result is only as good as that coefficient. If the solid side dominates, a correlation for h may be enough and the effort belongs in the FEA.

I would use one-way coupling unless there is a clear reason the deformation changes the flow, and I would check every mapping by comparing totals: heat in against heat mapped, force computed against force applied.

And I would keep both models in the same hands, or at least the same room. Our studies combine CFD in Ansys Fluent with structural analysis in Ansys Mechanical for exactly this reason, and our two courses, CFD Modeling of Liquid and Gas Flows and Static Structural, are built to be taken together by engineers who will be asked the question this article started with.

Sources & further reading

Related service

Structural analysis

Identify critical regions and compare structural alternatives.

Explore services
All articles