YALES2 public page

From www.coria-cfd.fr
Jump to: navigation, search

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, February 2015 (Users page)

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)

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