Car park Ventilation CFD with Pointwise, Caelus, CFX and FDS

Design and construction of covered car parks in Australia requires CFD modeling of carbon monoxide from car exhausts to extraction fans to ensure the carbon monoxide level does not rise too high for the safety of occupants. Car park design consultants often perform CFD on the carbon monoxide ventilation using FDS, which is a fire and smoke/fume modelling solver used in various industries such as building services. The goal of this research project was to use an FDS project of a typical car park, to benchmark two more mainstream, fully-featured CFD solvers like Caelus (an OpenFOAM derivative) and ANSYS CFX. The meshing for CFX and Caelus was done with Pointwise, and FDS creates its own 100% hexahedral mesh.

Geometry Model Import

Although FDS is capable of hanging nodes and non-homogeneous elements, this particular car park FDS project that was being compared with Caelus had used 100% fixed size hexahedral elements. As a result, the Pointwise mesh required certain geometry features (windows, entrance, duct outlets) to be adjusted to best match the FDS mesh. The original geometry model/CAD was passed into Pointwise from an IGES file (Figure 1). The source of carbon monoxide is displayed in aqua; these will be separate Pointwise blocks so that Caelus can apply a volume source term for the carbon monoxide. The outlet fans are shown in magenta as two domains (surface mesh) each side of a duct operating at 650 L/s.

Figure 1 – Geometry/CAD file imported to Pointwise, with walls (grey), CO sources (aqua), duct outlets (magenta), and atmospheric openings (blue).

FDS Mesh

FDS uses its own internal mesh generator, and a slice of the fully hexahedral mesh is shown in Figure 2.

Figure 2 – Cuts through the FDS mesh at two planes

Meshing for Caelus and CFX with Pointwise

The domains on the floor of the car park were extruded into multiple prism blocks to be used at CO source terms in Caelus (Figure 3). Due to the existence of windows and outlet fans (magenta), an unstructured tet block (red) was required above the prisms (green). There was no attempt to refine the mesh in the viscous boundary layer, as this is what FDS used in its mesh and the Pointwise mesh needed to match as closely as possible.

Pointwise was able to create a single watertight model of the car park, however adjustment of the geometry was required to match the level of simplification applied by FDS. As a result, the quilts were used to provide the majority of connectors and domains. In Pointwise, quilts are meshing regions defined at the CAD level and are used to form models (geometry) for water tight meshing, whilst a connector is a 1D grid element that forms the foundation for all other grid hierarchy. Some quilts and associated domains were removed, and new connectors and domains were added to walk over some original quilts (windows, entrance, duct outlets). This was done to match the FDS geometry/mesh as close a possible, to provide a fair comparison between Caelus, CFX and FDS.

Figure 2 - examine of mesh at 2 planes, showing prism (green) and tetrahedron mesh (red), and boundaries outlet (magenta), walls (grey) and atmospheric inlet (blue)
Figure 3 – Cuts through the mesh at two planes show prisms (green) and tetrahedra (red). Boundaries are colored by type: outlet (magenta), walls (grey), and atmospheric inlet (blue).

A breakdown of the cell count is shown in Table 1, with the fully hexahedral FDS mesh having just over 0.35 million elements. FDS can use such a mesh by applying no flow conditions to certain elements to represent the blockage effect of walls. The Pointwise mesh used for the Caelus and CFX simulations had just under 1.4 million elements, made up of prisms where extrusion was possible, off the ground and tets elsewhere around windows etc.

MeshCell TypeCell CountTotal Cell Count
Table 1 – Summary of cell type and cell count for each mesh.

CFD Results – Caelus, FDS and CFX

Caelus SLIM – Courant 1

The Caelus solver used was SLIM, a fast transient solver developed at Applied CCM. The maximum Courant number was 1, and the animation of the velocity and CO mass fraction is shown in Figure 4 and 5, respectively.

Figure 4- animation of the magnitude of velocity at height 1.75m above floor
Figure 4 – Animation of the magnitude of velocity at height 1.75 m above floor.
Figure 5- animation of the mass fraction of CO at height 1.75m above floor
Figure 5 – Animation of the mass fraction of CO at height 1.75 m above floor.

The average CO concentration in the a 3×3 m sample grid across the whole car park at a height of 1.5 m is shown in Figure 6. The Caelus full transient simulation compares quite closely to FDS, with CFX somewhat over both FDS and Caelus.

Figure 6 – Max Courant number 1 – time series plot of the average mass fraction of CO at height 1.5 m above floor, using a 3×3 m sample grid.

Caelus SLIM – Courant 20

Another case with maximum Courant number of 20 is shown in Figure 7. A similar CO time trace is seen, however this simulation executes much faster than with Courant number of 1.

Figure 7 – Max Courant number 20 – time series plot of the average mass fraction of CO at height 1.5m above floor, using a 3x3m sample grid

Caelus SLIM Scalar – Courant 2022

Using an alternative approach with a Caelus SLIM scalar only solver where the transient solution is only applied to the scalar equation and not the momentum, this saves time in computational effort, and allows a much higher time step. With this solver an equivalent Courant number of 2022 is able to be used. This case uses a steady state flow field and SLIM scalar computes the scalar transport only. Figure 8 shows the same average CO concentration in a 3×3 m sample grid across the whole car park at a height of 1.5 m.

Figure 8 – SLIM scalar only – time series plot of the average mass fraction of CO at height 1.5 m above floor, using a 3×3 m sample grid


Three CFD solvers FDS, CFX, and Caelus SLIM were used to model the extraction of carbon monoxide in a typical undercover car park. Table 2 shows the summary of the wall time to execute the simulations. All the SLIM and FDS cases had an equivalent number of cores per elements in the mesh. Comparing the wall time to execute, FDS is the reference case, and SLIM with a Courant number of 1 runs 17.2 times longer than FDS. However, with a maximum Courant number of 20, SLIM takes 1.9 times longer than FDS. An alternative approach with Caelus SLIM Scalar where only the scalar equation is solved after an initial steady state simulation was also compared, with the overall time (including the initial steady state simulation) taking only 0.39 of the time FDS took. Note that the simulation times for CFX is not provided, as it could not be executed with the same core to element ratio.

CaseMaximum Courant NumberWall Time (min)
(Note 1,2)
Ratio Wall Time to FDS
FDS Co=0.51951
SLIM Co=11163917.2
SLIM Co=20201831.9
Caelus SLIM Scalar2022370.39
Table 2 – summary of wall time to execute the simulations.
Note 1: The ratio of elements to cores used in FDS and Caelus simulations are similar.
Note 2: Caelus SLIM Scalar required a steady state run and the time is included in the Wall Time

Want to know more?

If you would like a Pointwise free trial see link below.

This entry was posted in Applications and tagged , , , , , , , , , , . Bookmark the permalink.

1 Response to Car park Ventilation CFD with Pointwise, Caelus, CFX and FDS

  1. Pingback: This Week in CFD | Another Fine Mesh

Leave a Reply