What is Caelus?

Caelus is the next evolution in open-source computational continuum mechanics solutions. Caelus is a derivative of OpenFOAM® but has been restructured to create a stronger foundation on which to build your open-source CFD solutions.

CML stands for Computational Mechanics Library, as Caelus contains a suite of numerical tools suitable for building, for example but not limited to, fluid, thermo, structural and electro-magnetic solvers. Several fluid dynamics solvers are provided.

Being a derivative of OpenFOAM®, it is released under the GPL. You can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. See the GNU General Public License for more details.

Why was Caelus created?

For the past decade, OpenFOAM® has been a pioneer in the field of open-source computational mechanics. However, broader acceptance of it has been hampered by difficulties using on it platforms other than a select few Linux distributions, dependencies on a large number of external applications that are difficult to support, and a growth in library size due to legacy code.

Caelus was formed to specifically address these issues. A summary of the main enhancements from each release are:


  • Updated thermophysical library
  • Updated Lagrangian library
  • Automatic parameterized simulations with CPL.
  • Run separate versions of Caelus side-by-side using CPL.
  • Compile Caelus and external applications using CPL.


  • Caelus Python Library (CPL)  provides utilities for pre and post-processing, as well as automating various aspects of the CFD simulation workflow.
  • wave library: a port of Niels Gjoel Jacobsen’s waves2Foam
  • Consistent and correction enhancements to the SIMPLE-based steady-state incompressible solver
  • Consolidation of static and dynamic mesh solvers into unified solvers
  • Published validation and verification papers from ASME FEDSM 2017


  • Fast, robust Cartesian, polyhedra, and tetrahedra meshing applications
  • New multiphase solvers and algorithm improvements
  • New gradient discretisation schemes
  • Multiple rigid body dynamics (nDoF) and mesh motion capabilities
  • Virtual Blade Model for high fidelity rotorcraft modeling


  • Performance and stability enhancements to linear solvers
  • New incompressible and compressible solvers
  • Updates to RANS, VLES, and LES turbulence models


  • Restructuring of interpolation schemes
  • Overhaul of limiters to ensure TVD compliance
  • Updates to pressure and density-based compressible solvers
  • New combustion solvers
  • New RAS, DES and VLES turbulence models


  • Further numerical improvements
  • New compressible solvers
  • New VLES turbulence model class
  • Coherent Structure LES
  • Multiphase VOF-LPT coupling
  • Update function objects


  • Improved numerical algorithms
  • Expression-based boundary conditions, initial conditions, sources, etc with the swak library and utilities
  • New solvers and models
  • Python-based execution environment


  • Compiles and runs in both serial and parallel on Windows 7/8, Redhat Enterprise Linux 6/7, Ubuntu LTS 12.04/14.04
  • Easy installation with GUI installer for all platforms that can also be run in text mode
  • Removal of legacy code, unvalidated models and general library clean up
  • Only two external dependencies (Python and MPI)
  • Solvers and models validated against published data
  • Documentation

When (or how often) will Caelus be updated?

Caelus will not just be a one-time, release-and-forget. The first seven versions were released every 6 months and annually subsequently. The release numbers reflect the year and month of the release. The first release was 4.10 for ’14 October. The second release was 5.04 (’15 April) and so on. The ‘1’ was dropped for simplicity. There may also be bug fixes released to the repository in between major releases.

How do I use Caelus?

In similar manner as you would OpenFOAM® but much easier to set up and accessible on more platforms. Check out the Caelus documentation for more details.

Where do I contribute?

Being open-source, Caelus is meant to be a collaborative project. There is a publicly available source repository for the current Caelus release:


Instructions for downloading and setting up the Caelus Contributors source code are provided in the included README. Please contact us if you encounter bugs, need help contributing, or have general feedback.