codes


CaNS – a code for massively-parallel DNS of canonical flows on many CPUs/GPUs

CaNS (Canonical Navier-Stokes) is a code for fast massively-parallel numerical simulations of fluid flows. It aims at solving any fluid flow of an incompressible, Newtonian fluid that can benefit from a FFT-based solver for the second-order finite-difference Poisson equation in a 3D Cartesian grid. We have been using it as a base efficient Navier-Stokes solver, on top of which numerical methods for more complex flows (e.g. multiphase) are implemented. The code is open source under the terms of a MIT license.

CaNS has been used as base Navier-Stokes solver in DNS codes for simulating complex flows, in particular for interface-resolved simulations of multiphase flows. It has been ported to Immersed-Boundary codes for flows laden with finite sized particles, and Front-Tracking/Volume-of-Fluid methods for two-fluid flows (e.g., in the CaNS-VoF solver).

CaNS 2.0 has been released in early September 2022 :tada:. It is the most relevant release since the initial development of the tool in 2017 (see the new features here), resulting in a tool that performs very efficiently on clusters with thousands of GPUs.

You can find the CaNS in here.


SNaC – A fast multi-block DNS code

SNaC is a multi-block code for massively parallel direct numerical simulations of fluid flows; see github.com/p-costa/SNaC. The solver is able to simulate the flow in any three-dimensional multi-block structured Cartesian grid. However, if the geometry has one homogeneous, ‘extruded’ direction with constant grid spacing, SNaC can use a very fast solver that exploits FFTs in this direction, resulting in quite significant (two- to eight-fold) speedups of the numerical calculation.


InteRParTS – Interface-Resolved Particle Simulations

InteRParTS was developed at TU Delft during my PhD, using the Immersed-Boundary DNS code for particle suspensions developed by Wim-Paul Breugem as starting point. InteRParTS is a code for masively-parallel DNS of turbulent flows laden with finite sized particles that has been able to simulate turbulent particle suspensions with \(O(10^{10})\) grid points and \(O(10^6)\) interface-resolved particles. The code has been used and extended by many researchers at KTH in the group of Luca Brandt for simulating a variety of complex multiphase systems. One of many notable extensions is that for flows with non-spherical particles by Mehdi Niazi Ardekani.