YALES2 public page

From www.coria-cfd.fr
Jump to: navigation, search
(Extreme CFD workshop & hackathon)
 
(6 intermediate revisions by 2 users not shown)
Line 5: Line 5:
  
 
</div>
 
</div>
 +
 +
[[File:Y2_banner.png | center | 1200px]]
  
 
== Motivation ==
 
== Motivation ==
Line 14: Line 16:
 
More information may be found in the following presentation: [[media:yales2_course.pdf | YALES2 presentation]]
 
More information may be found in the following presentation: [[media:yales2_course.pdf | YALES2 presentation]]
  
== Community ==
+
'''YALES2 objectives:'''
 +
* Fast, agile and open development for innovation
 +
* High-performance computing for multi-physics & multi-scale problems
 +
* Large documentation resources and test cases for a minimal training effort — everyone can contribute!
 +
* Fast industrialization, even for simulations using 10'000+ cores
  
YALES2 is developed by a large community with more than 500 researchers/engineers who were trained by the CORIA laboratory since 2009. The community regroups academic partners, HPC centers, industrial partners, HPC experts, SMEs and more. The code is also used for CFD training in academic courses at INSA of Rouen in the Energy and Propulsion department.
+
== Key features ==
  
[[File:Network.jpg | center | thumb | 700px | YALES2 network]]
+
YALES2 is a massively parallel, unstructured-mesh, finite-volume platform built around a shared numerical library (''YALES2LIB'') and some 45 dedicated physics solvers, documented end-to-end in the sphinx handbook (yales2.coria-cfd.fr, login required). Its main features are organized below by domain.
  
 +
=== Core numerics & HPC infrastructure ===
 +
* Unstructured meshes with adaptive grid refinement, suited for massively parallel computing (tested beyond 32'000 cores)
 +
* Hybrid MPI/OpenMP communications with a 4-level domain decomposition; OpenACC port for GPU platforms
 +
* Object-oriented, parallel data structures with a pair-based connectivity shared by every solver
 +
* 4th-order central pair-based finite-volume method, with a dedicated high-order (least-squares) extension
 +
* Spatial schemes library: MUSCL limiters (CHARM, OSPRE, SMART, UMIST, HCUS, HQUICK, ...), WENO, QUICK, Barth & Jespersen reconstruction
 +
* Time integration: Runge-Kutta, Lax-Wendroff, TFV4A, Crank-Nicolson and BDF, plus implicit scalar schemes (IRK, SDIRK)
 +
* Linear solvers: PCG, DPCG, GMRES, GMRES-DR, L-GMRES, solvers on a deflation grid, and Direct/Inverse Broyden non-linear solvers
 +
* Differential operators library (gradients, cell/vertex operators), look-up table management, matrix-vector product library
 +
* Background/reference pressure splitting for the low-Mach formulation
 +
* Parallel I/Os and automatic post-processing
 +
* Equation parser to define custom fields and boundary conditions directly from the input file
  
== Commitments ==
+
=== Mesh generation, adaptation & load balancing ===
 +
* Fully parallel meshing; support for GAMBIT, XMF, HDF, AVBP, Fluent and GMSH v4 formats, with automatic element swapping
 +
* Automatic isotropic and anisotropic mesh refinement, driven by Automatic Mesh Convergence (element-count or QOI-based drivers)
 +
* Dynamic mesh adaptation via the MMG library, coupled to the solvers for moving fronts, interfaces and periodic domains
 +
* Dynamic adaptation around tracked surfaces (YALES2BIO / RBC), with conservative interpolation types (DELEZE, CONSERVATIVE, ...)
 +
* Mesh management tools: boundary displacement, grid deformation, rigid-body and conformal-body motion (6 DoF, contact penalization)
 +
* Automatic 2D/3D boundary-layer generator (split prisms/quads)
 +
* Manual and dynamic load balancing, with contiguity preservation and a recursive-bisection partitioning coloring
 +
* Non-inertial reference frames (rotating, vibrating, sloshing), 2D-axisymmetric and 3D-axiperiodic capability
  
The YALES2 team is committed to supporting code users through training, meetings, projects or events.
+
=== Solvers — physics engines ===
 +
Every solver shares the same mesh, I/O and linear-algebra layer. Among the 45 available:
 +
* '''Flow & interface solvers''' — Incompressible (ICS), variable-density low-Mach (VDS, with spray/evaporation coupling), explicit (ECS) and semi-implicit (CPS/SIC/SII) compressible, fully-implicit steady incompressible (FII), ALE for moving meshes, spray (SPS), Volume-of-Fluid interface capturing (VFS) and VOF-based spray (VOF-SPS), multifluid (MFS), phase-change (PCS, with NIST tables), granular flow (GFS), Kazhikhov-Smagulov (KSS), Smoothed Particle Hydrodynamics (SPH)
 +
* '''Heat, acoustics, EM & structures''' — Heat transfer (HTS, multi-material), radiative transfer (RDS, RTE with user-defined models), linear acoustics (ACS, Helmholtz/Newmark), electrostatics (ESS), structural mechanics (SMS, finite-element dynamics), fluid-structure interaction (FSI: FSI_ALE / FSI_SMS, Aitken relaxation, Neo-Hookean materials)
 +
* '''Particle & biomedical solvers''' — Lagrangian particle transport (LGS), deformable-membrane transport for red blood cells and beyond (RBC), Von Willebrand Factor filaments (VWF), endovascular flows (EVS), thrombosis/blood biochemistry (TBS), Force Coupling Method for rigid particles (FCM), Conservative (Lagrangian) Immersed Body solver (CLIB/CIB), heart simulations (HFS)
 +
* '''Other''' — Chemical reactor (CRS), Darcy flow in porous media (DCY), cavitation (CAV), scalar transport-only solver (SCS)
  
[[File:Commitment.jpg | center | thumb | 700px | YALES2 team commitment]]
+
[[File:Y2_modular_platform.png | center | thumb | 900px | The YALES2 modular platform: the YALES2LIB numerical core (center) and the modules built around it]]
  
Here an example of event you can participate to:
+
=== 45+ solvers ===
  
[[File:Extreme CFD.jpg | center | thumb | 700px | Extreme CFD event, https://ecfd.coria-cfd.fr/index.php/Ecfd:ecfd_4th_edition]]
+
Built on top of the library, YALES2 currently ships '''45+ different solvers''', covering incompressible/variable-density/compressible flows, spray, ALE, multifluid, heat transfer, MHD, structural mechanics, fluid-structure interaction, phase change/boiling, biomedical flows (thrombosis, endovascular, heart, red blood cells), acoustics, and more. Simple solvers are first designed to validate the physics and improve the performances, and are then coupled together to target complex multi-physics flows.
  
 +
[[File:Y2_solver_list.png | center | 700px | Full YALES2 solver list]]
  
== YALES2 Library and solvers ==
 
  
The numerical library YALES2LIB consists of all the numerical methods required to develop solvers:
+
=== Turbulence, combustion & multiphysics models ===
 +
* Turbulence: LES (dynamic Smagorinsky, WALE, SIGMA), RANS/URANS (Spalart-Allmaras, k-epsilon, k-omega, k-omega SST), PANS, synthetic turbulence and Synthetic Eddy Method injection
 +
* Combustion: tabulated chemistry (FPI, FTACLES, TFLES), finite-rate/complex chemistry (Cantera-inspired), analytical chemistry with QSS reduction, and a bundled chemdata database of kinetic schemes
 +
* Real-gas & multi-species thermodynamics: NIST tabulated properties, cubic equations of state (Van der Waals, Peng-Robinson, SRK, NASG, TAIT), multi-component transport (coupling with Cantera / Mutation++)
 +
* Pollutant & soot modeling: NOMANI NOx model, Leung-type soot model
 +
* Wind turbine modeling with the Actuator Line Method, including dynamic-stall corrections (OYE, Risoe)
 +
* Atmospheric modeling: Coriolis forces, Monin-Obukhov and other wall laws for the atmospheric boundary layer
 +
* Porous-media modeling, momentum source-term models, variance/unmixedness models
 +
* Multiperforated (effusion-cooling) boundary conditions, custom wall laws (law of the wall, Newton solve)
 +
* Surface tension: Continuum Surface Force model, dynamic and static contact-angle models
 +
 
 +
=== Post-processing & analysis ===
 +
* Statistics (time-integrated fields) and temporals (ASCII/HDF time series)
 +
* Post-processing dumps (planes, iso-surfaces, sub-domains) that can double as restart meshes/solutions
 +
* A large library of post-processing scalars (y+, Q-criterion, vorticity, RANS Reynolds stress, discontinuity sensor, swirl number, curvature, heat-transfer coefficient, ...)
 +
* Probes: POINT, LINE, PLANE, CLOUD, ANNULAR, CYLINDER, FRUSTUM types, with a geometric-transformation pre-processor
 +
* Particle-dataset post-processing, Proper Orthogonal Decomposition (POD, snapshot method)
 +
* High-order filtering for large-scale structure extraction, and a multigrid framework to post-process onto coarser grids
 +
* Level-set post-processing, memory-usage tracking (allocated/resident/occupied)
 +
 
 +
=== External coupling ===
 +
* CWIPI: coupling between YALES2 solvers, or with external codes, synchronous or asynchronous
 +
* OpenPALM: concurrent execution and coupling of independently-developed codes
 +
* Cantera and Mutation++: chemical kinetics, thermodynamics and transport property coupling
 +
 
 +
=== Digital-twin & workflow tools ===
 +
* y2_workflow.py for the management of heavy workflows (500+ coupled simulations, e.g. for machine-learning datasets) on remote super-computers
 +
* y2tools: a broad collection of Python/shell utilities (mesh tools, gitlab/CI analytics, memory-leak wrappers, automated post-processing image dumps, log parsers, ...), plus a VSCode extension for input files
 +
* Coupling with data-analysis tools: uncertainty quantification, parameter-space exploration, topological optimization
 +
* Coupling with LAGUN/NEXTSTEP (https://gitlab.com/drti/lagun)
 +
* External coupling with third-party codes
 +
 
 +
=== Recent developments (2024-2026) ===
 +
A selection of highlights from the release notes:
 +
* '''2026.04''' — refactored grid-adaptation core object; new MUSCL limiters (CHARM, OSPRE, SMART, UMIST, HCUS, HQUICK); Direct/Inverse Broyden non-linear solvers; ALE support added to the level-set and spray solvers; coupling with external elastic solvers and a Risoe stall model for actuators
 +
* '''2025.10''' — automatic 2D/3D boundary-layer generator; new wall types (POROUS, ADHESIVE); integration of CVODE 7; the new Von Willebrand Factor (VWF) solver; multi-material heat transfer (HTS)
 +
* '''2025.04''' — 6-DoF rigid-body conformal solver with contact penalization; GMSH v4 support; multi-component transport via Mutation++/Cantera; the new Smoothed Particle Hydrodynamics (SPH) solver
 +
* '''2024.10''' — new Force Coupling Method (FCM) and Kazhikhov-Smagulov (KSS) solvers; full 2D-axisymmetric/3D-axiperiodic capability; continued OpenACC (GPU) work
 +
* '''2024.04''' — first Phase-Change solver (PCS) models; new Triple-Phase solver (TPS); Coriolis forces for atmospheric flows
 +
Full, version-by-version release notes are maintained on the (login-required) sphinx documentation site.
 +
 
 +
== Community ==
 +
 
 +
YALES2 is developed by a large community with more than 500 researchers/engineers who were trained by the CORIA laboratory since 2009. The community regroups academic partners, HPC centers, industrial partners, HPC experts, SMEs and more. The code is also used for CFD training in academic courses at INSA of Rouen in the Energy and Propulsion department.
 +
 
 +
Academic developers & users include CORIA Rouen, LEGI Grenoble, EM2C Saclay, IMAG Montpellier, MSME Marne-la-Vallée, IMFT Toulouse, PPRIME Poitiers, PRISME Orléans, LAAS Toulouse, LGC Toulouse, LMFA Lyon, ONERA and INERIS. About 10% of the code is written by industrial partners (SAFRAN, ARIANE GROUP, SIEMENS) and 10% by CIFRE PhD students.
 +
 
 +
[[File:Network.jpg | center | thumb | 700px | YALES2 network]]
 +
 
 +
 
 +
== Commitments ==
 +
 
 +
The YALES2 team is committed to supporting code users through training, meetings, projects or events.
 +
 
 +
[[File:Commitment.jpg | center | thumb | 700px | YALES2 team commitment]]
  
[[File:Library.jpg | center | thumb | 800px | YALES2 library]]
+
=== Extreme CFD workshop & hackathon ===
  
We have plenty of solvers today, here are the principals:
+
The '''Extreme CFD workshop & hackathon''' is the flagship annual event for the YALES2 community and the wider massively-parallel CFD community. Each year, about 80 researchers, engineers and PhD students from academia and industry gather for two full weeks to push HPC codes such as YALES2, AVBP, SONICS, DOROTHY, ...  onto the latest hybrid, GPU-accelerated supercomputers, through plenary sessions, a dedicated GPU-porting hackathon, and thematic workshops (combustion, dynamic mesh adaptation, multi-phase flows, numerics, turbulent flows, user experience). Much of the community-driven development highlighted above in [[#Key features|Key features]] is discussed, tested or born there — it is a major reason YALES2 keeps pace with new HPC architectures and the energy-transition challenges they target.
  
[[File:Solvers.jpg | center | thumb | 700px | YALES2 solvers]]
+
The 9th edition took place on 19-30 January 2026 at Houlgate, France.
  
 +
[[File:Ecfd9_logo.png | center | 700px | 9th Extreme CFD workshop & hackathon, 19-30 January 2026 - https://ecfd.coria-cfd.fr]]
  
 
== Agile development ==
 
== Agile development ==
Line 47: Line 133:
 
* programming: modular structure of the code with more than 200 objects and 420 modules
 
* programming: modular structure of the code with more than 200 objects and 420 modules
 
* non-regression and testing: private gitlab forge, nightly pipelines with more than 300 automatic jobs
 
* non-regression and testing: private gitlab forge, nightly pipelines with more than 300 automatic jobs
* fast compiling: automatic dependencies, two pass compiling, 1m15s to compile 850'000 lines of fortran
+
* fast compiling: automatic dependencies, two pass compiling
 
* easy debugging: 2 compilation modes (optim, debug), many helpers (memory consumption, number of arrays, ...)
 
* easy debugging: 2 compilation modes (optim, debug), many helpers (memory consumption, number of arrays, ...)
 +
* dedicated forge since 2010: gitlab.coria-cfd.fr, mattermost.coria-cfd.fr, y2training.coria.fr, yales2.coria-cfd.fr (sphinx documentation), available from Irene, Topaze, Adastra, ... with full access to the community
  
 
A few figures:
 
A few figures:
* 16 major releases since 2007
+
* 20 major releases since 2007
* 850 000 object-oriented Fortran 2008 lines for YALES2_2023.04
+
* 1.2M+ object-oriented Fortran 2008 lines
* 15 600+ commits
+
* 30 000+ commits (15+ commits per day)
* 200+ active branches
+
* 300+ active branches
* 1000+ merge requests
+
* 2 000+ merge requests
* 600+ members on the gitlab projects
+
* 700+ members on the gitlab projects, 250+ active users
* 100+ contributors
+
* 120+ contributors
  
  
 
== Gallery ==
 
== Gallery ==
 
Some computation examples are given in the [[YALES2_Gallery|gallery]] and on the Youtube video channel [https://www.youtube.com/@CoriaCFD]
 
Some computation examples are given in the [[YALES2_Gallery|gallery]] and on the Youtube video channel [https://www.youtube.com/@CoriaCFD]

Latest revision as of 10:33, 5 September 2026

PRECCINSTA burner with YALES2
Y2 banner.png

Motivation

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, joined later by P. Bénard and K. Bioche at CORIA and several other people in research laboratories.

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

YALES2 objectives:

  • Fast, agile and open development for innovation
  • High-performance computing for multi-physics & multi-scale problems
  • Large documentation resources and test cases for a minimal training effort — everyone can contribute!
  • Fast industrialization, even for simulations using 10'000+ cores

Key features

YALES2 is a massively parallel, unstructured-mesh, finite-volume platform built around a shared numerical library (YALES2LIB) and some 45 dedicated physics solvers, documented end-to-end in the sphinx handbook (yales2.coria-cfd.fr, login required). Its main features are organized below by domain.

Core numerics & HPC infrastructure

  • Unstructured meshes with adaptive grid refinement, suited for massively parallel computing (tested beyond 32'000 cores)
  • Hybrid MPI/OpenMP communications with a 4-level domain decomposition; OpenACC port for GPU platforms
  • Object-oriented, parallel data structures with a pair-based connectivity shared by every solver
  • 4th-order central pair-based finite-volume method, with a dedicated high-order (least-squares) extension
  • Spatial schemes library: MUSCL limiters (CHARM, OSPRE, SMART, UMIST, HCUS, HQUICK, ...), WENO, QUICK, Barth & Jespersen reconstruction
  • Time integration: Runge-Kutta, Lax-Wendroff, TFV4A, Crank-Nicolson and BDF, plus implicit scalar schemes (IRK, SDIRK)
  • Linear solvers: PCG, DPCG, GMRES, GMRES-DR, L-GMRES, solvers on a deflation grid, and Direct/Inverse Broyden non-linear solvers
  • Differential operators library (gradients, cell/vertex operators), look-up table management, matrix-vector product library
  • Background/reference pressure splitting for the low-Mach formulation
  • Parallel I/Os and automatic post-processing
  • Equation parser to define custom fields and boundary conditions directly from the input file

Mesh generation, adaptation & load balancing

  • Fully parallel meshing; support for GAMBIT, XMF, HDF, AVBP, Fluent and GMSH v4 formats, with automatic element swapping
  • Automatic isotropic and anisotropic mesh refinement, driven by Automatic Mesh Convergence (element-count or QOI-based drivers)
  • Dynamic mesh adaptation via the MMG library, coupled to the solvers for moving fronts, interfaces and periodic domains
  • Dynamic adaptation around tracked surfaces (YALES2BIO / RBC), with conservative interpolation types (DELEZE, CONSERVATIVE, ...)
  • Mesh management tools: boundary displacement, grid deformation, rigid-body and conformal-body motion (6 DoF, contact penalization)
  • Automatic 2D/3D boundary-layer generator (split prisms/quads)
  • Manual and dynamic load balancing, with contiguity preservation and a recursive-bisection partitioning coloring
  • Non-inertial reference frames (rotating, vibrating, sloshing), 2D-axisymmetric and 3D-axiperiodic capability

Solvers — physics engines

Every solver shares the same mesh, I/O and linear-algebra layer. Among the 45 available:

  • Flow & interface solvers — Incompressible (ICS), variable-density low-Mach (VDS, with spray/evaporation coupling), explicit (ECS) and semi-implicit (CPS/SIC/SII) compressible, fully-implicit steady incompressible (FII), ALE for moving meshes, spray (SPS), Volume-of-Fluid interface capturing (VFS) and VOF-based spray (VOF-SPS), multifluid (MFS), phase-change (PCS, with NIST tables), granular flow (GFS), Kazhikhov-Smagulov (KSS), Smoothed Particle Hydrodynamics (SPH)
  • Heat, acoustics, EM & structures — Heat transfer (HTS, multi-material), radiative transfer (RDS, RTE with user-defined models), linear acoustics (ACS, Helmholtz/Newmark), electrostatics (ESS), structural mechanics (SMS, finite-element dynamics), fluid-structure interaction (FSI: FSI_ALE / FSI_SMS, Aitken relaxation, Neo-Hookean materials)
  • Particle & biomedical solvers — Lagrangian particle transport (LGS), deformable-membrane transport for red blood cells and beyond (RBC), Von Willebrand Factor filaments (VWF), endovascular flows (EVS), thrombosis/blood biochemistry (TBS), Force Coupling Method for rigid particles (FCM), Conservative (Lagrangian) Immersed Body solver (CLIB/CIB), heart simulations (HFS)
  • Other — Chemical reactor (CRS), Darcy flow in porous media (DCY), cavitation (CAV), scalar transport-only solver (SCS)
The YALES2 modular platform: the YALES2LIB numerical core (center) and the modules built around it

45+ solvers

Built on top of the library, YALES2 currently ships 45+ different solvers, covering incompressible/variable-density/compressible flows, spray, ALE, multifluid, heat transfer, MHD, structural mechanics, fluid-structure interaction, phase change/boiling, biomedical flows (thrombosis, endovascular, heart, red blood cells), acoustics, and more. Simple solvers are first designed to validate the physics and improve the performances, and are then coupled together to target complex multi-physics flows.

Full YALES2 solver list


Turbulence, combustion & multiphysics models

  • Turbulence: LES (dynamic Smagorinsky, WALE, SIGMA), RANS/URANS (Spalart-Allmaras, k-epsilon, k-omega, k-omega SST), PANS, synthetic turbulence and Synthetic Eddy Method injection
  • Combustion: tabulated chemistry (FPI, FTACLES, TFLES), finite-rate/complex chemistry (Cantera-inspired), analytical chemistry with QSS reduction, and a bundled chemdata database of kinetic schemes
  • Real-gas & multi-species thermodynamics: NIST tabulated properties, cubic equations of state (Van der Waals, Peng-Robinson, SRK, NASG, TAIT), multi-component transport (coupling with Cantera / Mutation++)
  • Pollutant & soot modeling: NOMANI NOx model, Leung-type soot model
  • Wind turbine modeling with the Actuator Line Method, including dynamic-stall corrections (OYE, Risoe)
  • Atmospheric modeling: Coriolis forces, Monin-Obukhov and other wall laws for the atmospheric boundary layer
  • Porous-media modeling, momentum source-term models, variance/unmixedness models
  • Multiperforated (effusion-cooling) boundary conditions, custom wall laws (law of the wall, Newton solve)
  • Surface tension: Continuum Surface Force model, dynamic and static contact-angle models

Post-processing & analysis

  • Statistics (time-integrated fields) and temporals (ASCII/HDF time series)
  • Post-processing dumps (planes, iso-surfaces, sub-domains) that can double as restart meshes/solutions
  • A large library of post-processing scalars (y+, Q-criterion, vorticity, RANS Reynolds stress, discontinuity sensor, swirl number, curvature, heat-transfer coefficient, ...)
  • Probes: POINT, LINE, PLANE, CLOUD, ANNULAR, CYLINDER, FRUSTUM types, with a geometric-transformation pre-processor
  • Particle-dataset post-processing, Proper Orthogonal Decomposition (POD, snapshot method)
  • High-order filtering for large-scale structure extraction, and a multigrid framework to post-process onto coarser grids
  • Level-set post-processing, memory-usage tracking (allocated/resident/occupied)

External coupling

  • CWIPI: coupling between YALES2 solvers, or with external codes, synchronous or asynchronous
  • OpenPALM: concurrent execution and coupling of independently-developed codes
  • Cantera and Mutation++: chemical kinetics, thermodynamics and transport property coupling

Digital-twin & workflow tools

  • y2_workflow.py for the management of heavy workflows (500+ coupled simulations, e.g. for machine-learning datasets) on remote super-computers
  • y2tools: a broad collection of Python/shell utilities (mesh tools, gitlab/CI analytics, memory-leak wrappers, automated post-processing image dumps, log parsers, ...), plus a VSCode extension for input files
  • Coupling with data-analysis tools: uncertainty quantification, parameter-space exploration, topological optimization
  • Coupling with LAGUN/NEXTSTEP (https://gitlab.com/drti/lagun)
  • External coupling with third-party codes

Recent developments (2024-2026)

A selection of highlights from the release notes:

  • 2026.04 — refactored grid-adaptation core object; new MUSCL limiters (CHARM, OSPRE, SMART, UMIST, HCUS, HQUICK); Direct/Inverse Broyden non-linear solvers; ALE support added to the level-set and spray solvers; coupling with external elastic solvers and a Risoe stall model for actuators
  • 2025.10 — automatic 2D/3D boundary-layer generator; new wall types (POROUS, ADHESIVE); integration of CVODE 7; the new Von Willebrand Factor (VWF) solver; multi-material heat transfer (HTS)
  • 2025.04 — 6-DoF rigid-body conformal solver with contact penalization; GMSH v4 support; multi-component transport via Mutation++/Cantera; the new Smoothed Particle Hydrodynamics (SPH) solver
  • 2024.10 — new Force Coupling Method (FCM) and Kazhikhov-Smagulov (KSS) solvers; full 2D-axisymmetric/3D-axiperiodic capability; continued OpenACC (GPU) work
  • 2024.04 — first Phase-Change solver (PCS) models; new Triple-Phase solver (TPS); Coriolis forces for atmospheric flows

Full, version-by-version release notes are maintained on the (login-required) sphinx documentation site.

Community

YALES2 is developed by a large community with more than 500 researchers/engineers who were trained by the CORIA laboratory since 2009. The community regroups academic partners, HPC centers, industrial partners, HPC experts, SMEs and more. The code is also used for CFD training in academic courses at INSA of Rouen in the Energy and Propulsion department.

Academic developers & users include CORIA Rouen, LEGI Grenoble, EM2C Saclay, IMAG Montpellier, MSME Marne-la-Vallée, IMFT Toulouse, PPRIME Poitiers, PRISME Orléans, LAAS Toulouse, LGC Toulouse, LMFA Lyon, ONERA and INERIS. About 10% of the code is written by industrial partners (SAFRAN, ARIANE GROUP, SIEMENS) and 10% by CIFRE PhD students.

YALES2 network


Commitments

The YALES2 team is committed to supporting code users through training, meetings, projects or events.

YALES2 team commitment

Extreme CFD workshop & hackathon

The Extreme CFD workshop & hackathon is the flagship annual event for the YALES2 community and the wider massively-parallel CFD community. Each year, about 80 researchers, engineers and PhD students from academia and industry gather for two full weeks to push HPC codes such as YALES2, AVBP, SONICS, DOROTHY, ... onto the latest hybrid, GPU-accelerated supercomputers, through plenary sessions, a dedicated GPU-porting hackathon, and thematic workshops (combustion, dynamic mesh adaptation, multi-phase flows, numerics, turbulent flows, user experience). Much of the community-driven development highlighted above in Key features is discussed, tested or born there — it is a major reason YALES2 keeps pace with new HPC architectures and the energy-transition challenges they target.

The 9th edition took place on 19-30 January 2026 at Houlgate, France.

9th Extreme CFD workshop & hackathon, 19-30 January 2026 - https://ecfd.coria-cfd.fr

Agile development

The fast development of the YALES2 platform comes mainly from the agile development project management methodology. It relies on a number of tools:

  • programming: modular structure of the code with more than 200 objects and 420 modules
  • non-regression and testing: private gitlab forge, nightly pipelines with more than 300 automatic jobs
  • fast compiling: automatic dependencies, two pass compiling
  • easy debugging: 2 compilation modes (optim, debug), many helpers (memory consumption, number of arrays, ...)
  • dedicated forge since 2010: gitlab.coria-cfd.fr, mattermost.coria-cfd.fr, y2training.coria.fr, yales2.coria-cfd.fr (sphinx documentation), available from Irene, Topaze, Adastra, ... with full access to the community

A few figures:

  • 20 major releases since 2007
  • 1.2M+ object-oriented Fortran 2008 lines
  • 30 000+ commits (15+ commits per day)
  • 300+ active branches
  • 2 000+ merge requests
  • 700+ members on the gitlab projects, 250+ active users
  • 120+ contributors


Gallery

Some computation examples are given in the gallery and on the Youtube video channel [1]