pyCALC-LES

Two-point correlation of syntehic fluctuations

pyCALC-LES is written in Python. The code solves the incompressible momentum equations, the continuity equation and transport equations for modeled turbulent quantities such as k, eps and omega. The density is assumed to be constant and equal to one, i.e. rho = 1. The transport equations are solved in 3D and the grid may be curvi-linear in the x-y plane. In the z direction the grid is Cartesian but dz may vary.

The code is suitable for DNS, LES or DES (hybrid LES-RANS). For LES, the Smagorinsky model and the WALE model are implemented. For DES, a k-omega DES model and a PANS k-eps and IDDES model are implemented.

pyCALC-LES is a finite volume code. It is fully vectorized (i.e. no for loops). The solution procedure is based on fractional step. Second-order central differencing is used in space and the Crank-Nicolson scheme in time. The discretized equations are solved with Pythons sparse matrix solvers.

For users who have an Nvidia graphics card, the entire code runs on the GPU. Using IDDES on a 2.3M mesh the speed-up is a factor of 70 on the GPU compared to the CPU.

In Jult 2026, I added a version of pyCALC-LES that runs only in DNS mode. The grid in the z direction must be equidistant. The advantage is that this version requires much less memory which is critical when running the code on the GPU. For more info, see Section 3.9 in the pyCALC-LES report.

  • Download the code here 1.8 GB, 22 July 2026). Look at the Readme file.
  • Download inlet data (channel flow, DNS) here (16 GB, 21 July 2026). see Section 3.9 in the pyCALC-LES report
  • Flowchart
  • Download the pyCALC-LES report.

    Download the 2D RANS pyCALC-RANS code here








Department of Mechanical Engineering
Division of Fluid Dynamice