YALES2 public page

From www.coria-cfd.fr
Jump to: navigation, search
(Open Positions)
(24 intermediate revisions by 6 users not shown)
Line 1: Line 1:
 +
{{#customtitle:YALES2 public page|YALES2 public page - www.coria-cfd.fr}}
 +
 +
<div class="infobox floatright" style="width: 320px;">
 +
[[File:PRECCINSTA_2634M_q_crit_persp_small.png|right|thumb|300px|'''PRECCINSTA burner with [[YALES2 Gallery|YALES2]]''']]
 +
 +
</div>
 +
 
== Motivation ==
 
== 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 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 [[User:Moureauv|V. Moureau]] and is maintained since 2011 by [[User:Moureauv|V. Moureau]], [[User:Lartigue|G. Lartigue]] and [[User:Taieb|D. Taieb]] at CORIA and several other [[User|people]] in research laboratories.
+
YALES2 was developed from 2007 to 2010 by [[User:Moureauv|V. Moureau]] and is maintained since 2011 by [[User:Moureauv|V. Moureau]] and [[User:Lartigue|G. Lartigue]] at CORIA and several other [[User|people]] in research laboratories.
 +
 
 +
More information may be found in the following presentation: [[media:yales2_course.pdf | YALES2 presentation]]
 +
 
 +
== Team ==
 +
 
 +
[[File:team_y2.jpg | center | thumb | 500px | Yales2 users and developers at CORIA, October 2021 [[User | (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  [[open_positions|this page]] to discover them!
  
 
== Solvers ==
 
== Solvers ==
Line 20: Line 39:
 
* Linear acoustics solver ('''ACS''')
 
* Linear acoustics solver ('''ACS''')
 
* Heat transfers solver ('''HTS''')
 
* Heat transfers solver ('''HTS''')
 +
* Immersed boundary solver ('''IBS''')
 +
* Granular Flow solver ('''GFS''')
  
 
== Models ==
 
== Models ==
Line 25: Line 46:
 
** Constant Smagorinsky
 
** Constant Smagorinsky
 
** Localized dynamic Smagorinsky
 
** Localized dynamic Smagorinsky
 +
** WALE
 +
** SIGMA
 
* Mixing
 
* Mixing
 
** Constant Schmidt number
 
** Constant Schmidt number
 +
** Dynamic Schmidt number
 
* Combustion
 
* Combustion
 
** Boger’s model for premixed combustion
 
** Boger’s model for premixed combustion
Line 34: Line 58:
 
** Primary atomization: Ghost-Fluid Method + Conservative level set
 
** Primary atomization: Ghost-Fluid Method + Conservative level set
 
** Spray transport: Lagrangian particles with two-way coupling through drag and single-component evaporation.  
 
** Spray transport: Lagrangian particles with two-way coupling through drag and single-component evaporation.  
 +
** Wall splashing: Lagrangian spray + Ghost-Fluid Method + Conservative level set
  
 
== Numerics ==
 
== Numerics ==
Line 64: Line 89:
  
 
== Software engineering ==
 
== Software engineering ==
* 185,000 lines of code
+
* 280,000 lines of code
 
* Object-oriented fortran with modules (f90)
 
* Object-oriented fortran with modules (f90)
 
* Version management with SVN
 
* Version management with SVN
Line 73: Line 98:
 
* Keyword-based input file
 
* Keyword-based input file
 
* Easy profiling with timers
 
* Easy profiling with timers
 +
 +
== Gallery ==
 +
Some computation examples are given in the [[YALES2_Gallery|gallery]].
  
 
== Performances ==
 
== Performances ==

Revision as of 04:23, 4 May 2022

PRECCINSTA burner with YALES2

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 at CORIA and several other people in research laboratories.

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

Team

 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!

Solvers

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)

Models

  • 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

Numerics

  • 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
    • BICGSTAB, BICGSTAB2, BICGSTAB(2)
    • 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

Gallery

Some computation examples are given in the gallery.

Performances

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