This decision shapes everything downstream in a custom solver: how you store the mesh, how boundary conditions are imposed, which linear solvers behave well, and where your numerical difficulties will appear. It is worth deciding deliberately rather than defaulting to whatever the team last used.
The core difference
| Finite Volume (FVM) | Finite Element (FEM) | |
|---|---|---|
| Starting point | Integral conservation over cells | Weak form, weighted residuals |
| Unknowns live | At cell centres (typically) | At nodes, via basis functions |
| Conservation | Exact by construction | Requires care to guarantee |
| Higher order | Harder on unstructured meshes | Natural via basis order |
| Shocks / discontinuities | Handles well with limiters | Needs stabilisation |
| Complex geometry | Good, including polyhedra | Excellent |
| Mathematical theory | Practical, less unified | Strong and well developed |
| Typical CFD use | Dominant | Common in FSI, niche flows |
Why conservation matters so much
Finite volume starts from the physical statement: the rate of change inside a control volume equals the net flux across its faces. Discretising that directly means the flux leaving cell A through a shared face is identically the flux entering cell B.
The practical consequence: mass cannot be quietly created or destroyed by the discretisation, even on a poor mesh. In a long transient, or a reacting flow where species must balance, or a compressible case where shock speed depends on conservation, that property is not academic — it determines whether your answer is physically meaningful.
Finite element methods can be made conservative, but it is a design requirement rather than an automatic consequence — which is a real difference when you are writing the solver yourself.
Where finite element earns its place
- Higher-order accuracy on unstructured meshes. Raising basis order is natural; achieving the same in FV on arbitrary polyhedra requires large, awkward reconstruction stencils.
- Coupling with structural mechanics. Solid mechanics is overwhelmingly FEM, so fluid-structure interaction is simpler when both sides share a formulation.
- Strong theoretical foundation. Error estimates and convergence theory are more complete, which supports adaptive refinement with genuine error control.
- Complex boundary conditions. Natural boundary conditions emerge from the weak form rather than needing special treatment.
- Low-speed and creeping flows. Stokes and low-Reynolds problems are well served by mixed FEM formulations.
The hard parts of each
FVM difficulties
- Second order is straightforward; beyond that is hard on unstructured meshes
- Gradient reconstruction is sensitive to mesh skewness
- Limiters that prevent oscillation also reduce accuracy
- Non-orthogonal correction needed on poor meshes
FEM difficulties
- Advection-dominated flow needs stabilisation (SUPG, GLS)
- Velocity-pressure spaces must satisfy inf-sup, or be stabilised
- Higher assembly and memory cost
- Conservation must be deliberately engineered
Neither method is "better". Each moves the difficulty somewhere different — FVM into accuracy on bad meshes, FEM into stabilisation and conservation.
Choosing for your problem
| Your problem | Sensible default | Reason |
|---|---|---|
| Compressible / transonic | FVM | Shock capturing, conservation |
| General industrial RANS | FVM | Robust on real meshes; ecosystem support |
| Reacting flow / combustion | FVM | Species conservation is essential |
| Fluid-structure interaction | FEM (or mixed) | Shares formulation with the solid |
| Low-Reynolds / Stokes | FEM | Mixed formulations are natural |
| High-order accuracy needed | FEM / DG | Order raised via basis functions |
| Free surface / multiphase | FVM | Conservative interface capturing |
A third option worth considering: discontinuous Galerkin combines the conservation of FVM with the high-order flexibility of FEM, and parallelises well because coupling is only through faces. It costs more per degree of freedom and is more complex to implement — but for problems needing both conservation and high order, it is often the honest answer.
What the choice actually commits you to
- Mesh data structures — FVM wants face-based connectivity; FEM wants element-node connectivity.
- Linear system character — different sparsity patterns, so different preconditioners behave well.
- Boundary condition machinery — flux specification versus weak imposition.
- Parallel decomposition — halo exchange differs between face-based and node-based schemes.
- Post-processing — cell-centred versus nodal values changes how results are interpolated and visualised.
Changing this decision mid-project is close to starting again, which is why it deserves an explicit choice at the start.
Scoping a solver and weighing the formulation? Tell us your governing equations and mesh types. See our CFD solver service, and the cost breakdown.