Stop Guessing: How to Turn Off Interpolation in COMSOL Plots
- Jan Simkovsky
- 4 days ago
- 3 min read
Every COMSOL plot you've ever admired for its gorgeous, gradient-smooth color field has been touched up. COMSOL averages your results before it draws them. The smooth field on your screen is not exactly what the solver computed. It's called smoothing.
Smoothing is the reason your plots look like they came out of a magazine instead of a finite element solver. It's also, occasionally, the reason you believe something about your simulation that simply isn't true.
How to turn it off
Click the Surface, Volume, Contour, or similar plot node under your Results plot group.
In the Settings window, open the Quality section.
Find the Smoothing list. It offers five settings:
None - no averaging at all. You see the raw, per-element field exactly as the solver computed it.
Inside material domains - averages values across elements, but never across a boundary between two different materials.
Inside geometry domains - the default. Averages within each geometric domain, but respects the boundaries between domains.
Everywhere - averages across everything, including domain and material boundaries.
Expression - smoothing is governed by a user-supplied expression, along with the Smoothing threshold below it (for advanced use).
Set it to None, click Plot, and look again.

If the field was well resolved, the None plot will look almost identical to the smoothed one, just a bit more blocky.
A practical example: the composite wall that COMSOL "fixed" for you
Take the simplest possible check: steady-state heat conduction through a wall made of two layers with different thermal conductivities - let's say, a slab of steel (k ≈ 15 W/(m·K)) bonded to a slab of insulation foam (k ≈ 0.03 W/(m·K)), with heat flowing straight through.
Physically, the heat flux q must be continuous across the interface (energy can't pile up there). But by Fourier's law, q = −k∇T, and since k jumps by a factor of 500 at the interface, the temperature gradient ∇T must jump too - sharply, in the opposite direction of the conductivity ratio. This isn't a meshing artifact. It's required by physics.
Now plot the temperature gradient in COMSOL. Assume each layer is its own domain with its own material:
With Smoothing = Inside geometry domains (the default) or Inside material domains, the plot correctly shows the jump because both settings avoid averaging across the interface. Good - these are safe.

With Smoothing = Everywhere, COMSOL will average the gradient values across the material interface, producing a smooth, gradual transition where a sharp step would otherwise exist. The plot will look cleaner.

That is the lie. It is not a bug. It is a display setting applied where it does not belong, quietly overwriting real physics with a nicer-looking curve. Anyone who reviews that plot has no way of knowing the interface even exists.
The fix is the one you now know: set Smoothing = None (to check raw element data) or leave it on Inside geometry domains (to keep domain-respecting realism), and reserve Everywhere for cases where you genuinely know the underlying field should be continuous.
Conclusions
COMSOL applies smoothing to numerical results. Although smoothing is often hidden in settings, don't forget to consider it. Especially when you see results that are in conflict with your physical sense. The best routine is to set Smoothing to None before reviewing the results.
Not sure whether your model's smooth plots are hiding a convergence problem? Simulation Guys can review your mesh, your solver settings, and your post-processing choices - and make sure the numbers you present are the numbers your solver actually produced.
