Polyhedral Mesh

Category: CFD Meshing | Revised 2026-10-01
CAE visualization for polyhedral mesh theory - technical simulation diagram
Polyhedral Mesh

Theory: gradients from many neighbours

Overview

🙋

For complex-geometry CFD, I hear converting a tetrahedral mesh to polyhedra slashes cell count. Doesn't accuracy suffer?

🎓

Polyhedral cells are often made by merging the cells around each vertex of a tetrahedral mesh. Each cell touches ten or more neighbours, giving plenty of information for gradient computation, whereas a tetrahedron has only four. Built from the same points, cell count drops sharply, but each cell is larger, so whether accuracy is truly preserved needs checking. Let's build both from the same point cloud and compare gradient accuracy.

Least-squares gradient

$$ \min_{\nabla\phi_P}\sum_{N}\left[\phi_N - \phi_P - \nabla\phi_P\cdot(\mathbf x_N - \mathbf x_P)\right]^2 $$

Cell P's gradient is chosen to best match value differences to neighbours N. More neighbours in more directions make the estimate more stable.

Cell and face counts

$$ N_{tet} \approx 6.7\,N_{pt}, \qquad N_{poly} = N_{pt}, \qquad \bar n_{faces,poly} \approx 16 $$

Rules of thumb for meshes from the same point cloud (checked with 3D Delaunay). Polyhedra have fewer cells but more faces each, so face-driven computational cost doesn't fall as much as cell count.

Coffee Break Trivia

How polyhedra entered general-purpose codes

The finite volume method is inherently shape-agnostic, expressing conservation as sums of fluxes through faces, so in principle any polyhedron works. Yet for a long time structured grids and tetrahedra or hexahedra dominated. In the early 2000s Perić and colleagues in Germany reported that polyhedral meshes derived from tetrahedra achieved similar accuracy with fewer cells and better convergence, and automatic polyhedral meshing entered commercial CFD. It is now widely used in automotive and thermal-fluid work to mesh complex shapes quickly while holding cell counts down.

Worked example: comparing from the same points

Tetrahedra were built by 3D Delaunay triangulation of points in a cube, and polyhedra as its dual (one cell per point). The gradient of sin(3x) + cos(2y) + xz was computed by least squares, comparing median error in interior cells:

Point layoutPointsTetrahedraTet gradient errorPolyhedraPoly gradient error
Regular (jittered lattice)2,74418,3953.24%2,7444.95%
Regular (jittered lattice)15,625106,8192.08%15,6252.84%
Random2,46116,0814.02%——
Random16,000106,5872.13%16,0004.70%
🙋

What happens when comparing at similar cell counts?

🎓

With regular points, 15,625 polyhedra gave 2.84% against 3.24% for 18,395 tetrahedra — polyhedra slightly better. With random points, 16,000 polyhedra gave 4.70% against 4.02% for 16,081 tetrahedra — reversed. Polyhedra from random points are misshapen, with scattered neighbour distances. So it's not that polyhedra are always better: when the underlying tetrahedral mesh is good, they reach equal or better accuracy with fewer cells. Their advantage is also said to include better iterative convergence from fewer distorted cells.

When and how to use

  1. Consider it for complex shapes where hexahedra are hard to build.
  2. Build a good tetrahedral (or surface) mesh first, then convert to polyhedra.
  3. Combine prism layers near walls to resolve boundary layers.
  4. Estimate face count and memory, not just cell count.
  5. Compare tetrahedral and polyhedral results under the same conditions and check grid dependence.
Coffee Break Trivia

“Fewer cells, same run time”

Converting a 10-million-cell tetrahedral CFD mesh to 2 million polyhedra barely shortened time per iteration. Each polyhedron had many faces, increasing face-flux computation and neighbour data exchange. Iterations to convergence roughly halved, though, so total time fell. Judge polyhedra not by cell count alone but by face count, time per iteration and iterations to convergence together.

Common mistakes

Mistakes and fixes

MistakeEffectFix
Comparing by cell count onlyCost misjudgedCompare face counts too
Converting a poor tet meshMisshapen polyhedraImprove the base mesh
Polyhedra only near wallsBoundary layer unresolvedAdd prism layers
Assuming polyhedra always improve accuracyFalse confidenceCheck grid dependence
Converting between codesFace orientation/shape brokenCheck quality after conversion
🙋

I'd like to learn related topics.

Related Simulators

Experience the theory firsthand with the interactive simulator for this field

All Simulators

Related fields

Thermal AnalysisV&V · Quality AssuranceStructural Analysis
Rate this article
Thank you for your feedback!
Helpful
More details
Report error
Helpful
0
More details
0
Report error
0