YALES2 public page

From www.coria-cfd.fr
Revision as of 05:23, 4 May 2022 by Lartigue (Talk | contribs) (Open Positions)

Jump to: navigation, search



YALES2 aims at the solving of two-phase combustion from primary atomization to pollutant prediction on massive complex meshes. It is able to handle efficiently unstructured meshes with several billions of elements, thus enabling the Direct Numerical Simulation of laboratory and semi-industrial configurations.

YALES2 was developed from 2007 to 2010 by V. Moureau and is maintained since 2011 by V. Moureau and G. Lartigue at CORIA and several other people in research laboratories.

More information may be found in the following presentation: YALES2 presentation


 Yales2 users and developers at CORIA, October 2021 (Users page)

Open Positions

You want to join the YALES2 Network? We may have open positions for training periods, Ph. D. or Postdoctoral positions!

Check this page to discover them!


YALES2 is based on a large numerical library to handle partitioned meshes, various differential operators or linear solvers, and on a series of simple or more complex solvers.

  • Scalar solver (SCS)
  • Level set solver (LSS)
  • Incompressible solver (ICS)
  • Variable density solver (VDS)
  • Spray solver (SPS = ICS + LSS + Ghost-Fluid Method)
  • Lagrangian solver (LGS)
  • Compressible solver (ECS)
  • Magneto-hydrodynamic solver (MHD)
  • Mesh movement solver (MMS)
  • Radiative solver (RDS)
  • Linear acoustics solver (ACS)
  • Heat transfers solver (HTS)
  • Immersed boundary solver (IBS)
  • Granular Flow solver (GFS)


  • Turbulence (Large-Eddy Simulation)
    • Constant Smagorinsky
    • Localized dynamic Smagorinsky
    • WALE
    • SIGMA
  • Mixing
    • Constant Schmidt number
    • Dynamic Schmidt number
  • Combustion
    • Boger’s model for premixed combustion
    • Infinitely fast chemistry with rho and T from 1D tables
    • Realistic chemistry: PCM-FPI with arbitrary number of dimensions and spacing + automatic chemtable builder in HDF5 based on Cantera
  • Two-phase
    • Primary atomization: Ghost-Fluid Method + Conservative level set
    • Spray transport: Lagrangian particles with two-way coupling through drag and single-component evaporation.
    • Wall splashing: Lagrangian spray + Ghost-Fluid Method + Conservative level set


  • Spatial: 2nd- and 4th-order finite-volume schemes
  • Temporal:
    • 4th-order explicit time integration (RK4 and TFV4A) of convective terms
    • explicit and implicit diffusion and source terms
  • Stabilization: Cook & Cabot 4th-order artificial viscosity
  • Linear solvers:
    • PCG
    • Deflated PCG
    • Deflated BICGSTAB(2)
    • Residual recycling

Data Structures

  • 1D, 2D, 3D unstructured solver
  • Full dual decomposition based on METIS
  • Data registration (int, real, char, node, elem, face, pair, scalar, vector, tensor)
  • Optimized non-blocking MPI communications
  • Parallel load balancing
  • Automatic reconnection of periodic boundaries
  • Automatic homogeneous mesh refinement
  • IO formats: Gambit (Fluent), Ensight, prepartionned HDF5 (XDMF) with compression
  • Cartesian mesh generator
  • Partitioned mesh support for HDF5 independent of the number of processors
  • Parallel interpolator for partitioned HDF5 meshes
  • Automatic sponge layers
  • Built-in Gaussian filters of arbitrary size

Software engineering

  • 280,000 lines of code
  • Object-oriented fortran with modules (f90)
  • Version management with SVN
  • Inline documentation in the source code (XML + Latex)
  • GUI with client/server mode (wxwidgets, C++)
  • Automatic validation tests (AQAT, AVVT)
  • Automatic dependency of f90 modules in makefiles
  • Keyword-based input file
  • Easy profiling with timers


Some computation examples are given in the gallery.


Thanks to highly efficient linear solvers, the speed-up of YALES2 is almost linear for meshes with several billion elements. These measures up to 21 billion elements were performed at IDRIS in France and at the Juelich Supercomputing Center in Germany.

YALES2 scale-up on Blue Gene/P machines