Releases
ECOGEN_v6.0
2026-11-10
A new release, ECOGEN_v6.0, is available on GitHub. It includes new features and fixes bugs.
From now on, when using one of the latest ECOGEN version, please cite not only the original paper but as well the HAL reference to acknowledge the work of all contributors (see Citation).
Major points:
- New model for total non-equilibrium flow (
NEq and NEqDEM) added. NEqDEM uses the Discrete Equation Method based on the work of Abgrall & Saurel (2003)
and NEq uses either the HLLAC Riemann solver of Lochon et al. (2016)
, the HLLC-type Riemann solver of Furfaro & Saurel (2015)
, or the HLL/Rusanov Riemann solver of Saurel & Abgrall (1999)
with different closure laws. The DEM can be used for IG, SG and NASG EOS with a HLLC Riemann-problem solver. An exact Riemann-problem solver can also be used but only for IG and SG EOS, and for non-reflecting boundary conditions. Infinite relaxations of velocities and pressures, as well as axi-symmetry terms are implemented. The DEM can work for N phases using either Paula et al. (2023)
or Chinnayya (2002) (PhD thesis) algorithm. The DEM can work with a second-order scheme, for now only for Cartesian N phases without interface interaction with any boundary conditions.
- New 1D model added: extended Navier-Stokes-Korteweg model (
ExtendedNavierStokesKorteweg1D). This model allows to consider compressible flows with capillarity and liquid-vapour phase transition: Didierlaurent et al. (2026) "Numerical investigation of a Navier-Stokes-Korteweg system through an extended Lagrangian formulation: nonclassical waves and phase transition problems" and Didierlaurent et al. (2025)
. From this generic model, one can choose different equations of state to obtain particular models lying in different fields. For example, the hydrodynamic form of the Defocusing Nonlinear Schrödinger (NLS) equation, Dhaouadi et al. (2019)
, or to describe the dynamics of a bistable tape spring, Bourgeois et al.
, by choosing polynomial EOS, or finally to describe the dynamics of phase transition by considering the van der Waals EOS (Didierlaurent et al., 2026). 3 EOS were therefore added to complement this model.
- Turbulence static Smagorinsky model in the context of Large Eddy Simulations (LES). This model is currently implemented on the Euler model with viscosity, corresponding to the Navier-Stokes equations, and validated using a homogeneous isotropic decaying turbulence simulation.
- New output format based on HDF5 (
VTKHDF) for high performance computations using high number of MPI processes. An xdmf file is used as well for optimised Cartesian outputs.
- Adds periodic boundary conditions for Cartesian meshes (no AMR, yet).
- Adds non-slip moving wall boundary conditions following an oscillatory behaviour (sinus) for all meshes. One can model a constant piston velocity if frequency is null and offset is pi/2.
Minor points:
- Second-order and gradient XML elements (tags) from
main.xml files have been moved to model.xml files. This change therefore induces an incompatibility of the input files with the previous version. A warning message is shown when one of the elements is mentioned in the main.xml file of your running test case.
- Clear distinction now between slip and non-slip walls. A slip wall is modelled as a
symmetry while a non-slip wall is modelled as a wall.
- ECOGEN can now be used as a shared library, e.g. for easy linkage with C or python codes.
- Add a volume-fraction threshold value for activating or not the infinite pressure relaxation when null volume fractions are allowed in the simulation. Default is what it was before (1.e-5).
- Default gradient computation set to Green-Gauss.
- Adds
Koren limiter, Vreugdenhil & Koren (1993) Numerical Methods for Advection-diffusion Problems, for MUSCL scheme.
- Remove useless mesh-info files from results and use centralised AMR tree-structure outputs when using VTKHDF output file format (useful for high performance computations using high number of MPI processes).
- Remove useless errors and warning files that were always created. Now they are created only if errors or warnings occur. In the case of VTKHDF output file format, centralised parallel writing is done.
- Adds a coloured warning message if at least one MPI process raised a warning and colours the already printed error message in case of error. One can disable coloured outputs if needed.
- Improve mesh stretching setup and documentation. Now, instead of providing the number of cells in the mesh stretching areas, the user has to provide: the size of the reference cell (
refCellSize tag), and the position of the reference cell (refCellPos tag). The number of cells is computed from these data with the mesh stretching factor being applied from the reference cell position to the other extremity of the region. The stretching factor provided by the user may be modified in order to end up with an exact number of cells covering the stretch region. Furthermore, eventual warnings are printed at execution when needed. Note that this change induces an incompatibility of the mesh input file with the previous version (for Cartesian meshes using mesh stretching).
- Add new compile flags
-Wundef -Wshadow -Wuninitialized (in addition to existing -Wall -Wextra -Wpedantic) to help guaranteeing a clean code is produced.
- Improve time recording during simulations and add information about output writing time.
Fixes:
- Correct compilation warnings on some of the latest compiler versions.
- Correct error on run-time information when resuming a simulation.
- Correction of a bug that happened when a second-order parallel simulation was having very small cell sizes.
- Correct a bug with C++ MPI headers on linux.
- Correct a terminal printing bug when showing progress percentage of the construction of unstructured meshes for large number of cells.
- Correct a segfault error for parallel runs with missing input files.
- Add missing description of
infoCalcul.out file in the documentation.
- Remove unused SVD tierce library.
ECOGEN_v5.0
2025-09-30
A new release, ECOGEN_v5.0, is available on GitHub. It includes new features and fixes bugs.
Major points:
- Possibility to use second-order numerical scheme on unstructured meshes. Although still in beta.
- Acoustic waves can now be modelled through source terms (sinusoidal or Gaussian pulses). This follows the work of Maeda & Colonius (2017) for single-phase flows and has been extended here for multiphase systems of equations.
- For developers: Improvement of the CI now including code coverage, clang-formatting, better artefact management, use of address sanitizer and pre-commit.
- Clang-format applied to the whole code.
Minor points:
- Gnuplot scripts added for pdf generation of results with GNU output format
- Add velocity in x-direction to the 1D output using Gnuplot.
- Correction of translation: restart -> resume.
- The CFL length estimation has been improved for quadrangle elements.
- Possibility to add record frequency for cuts.
- Correction of memory errors (deallocations).
- Possibility to compile the code using `cmake` instead of `makefile` (for advanced users).
- Update of documentation and test cases, as usual.
- Use `VTK` key instead of `XML` one for `outputMode` tag of `main.xml` file.
- Modify the deepness of all 1D and 2D test cases to unity. This was made to avoid possible issues during the visualisation of the results with tools such as Paraview.
Fixes:
- Update names of manuals to be coherent with input files from the test cases.
- Update Cv from air EOS.
- Fix bug and variables names update on `ModUEq::solveRIemannInletInjTemp`.
- Fix EOS assignment in boundary conditions and add that the EOS key must be present in `dataFluid` tag of boundary conditions (must be consistent with model EOS).
- Fix `Euler` test cases missing EOS key in `dataFluid` tag of boundary conditions.
- Fix memory errors during termination of the execution when EOS is missing.
- Fix unstructured-mesh file parsing using msh v4 format (working now, although only for serial simulations).
- Fix wrong elapsed time from simulations (was using CPU time, now uses wall time).
ECOGEN_v4.0
2023-09-18
A new release, ECOGEN_v4.0, is available on GitHub. It includes new features and fixes bugs.
Major points:
- Removed the version numbers of the input file names (break compatibility with previous version).
- Possibility to use finite pressure relaxation on UEq model for more than two phases. More information in: Schmidmayer et al. (2023)
- Possibility to initialize an unstructured simulation with the result of a previous simulation performed on a similar mesh and/or a different number of CPUs. This feature is particularly useful to fasten steady state convergence on a fine mesh using coarse mesh results. More information in: Cazé et al. (2024). Modelling and simulation of the cavitation phenomenon in space-engine turbopumps.
- PUEq phase-change model (handled through PTMu relaxation) does not require mass fraction threshold anymore to trigger mass transfer. Also more information in: Cazé et al. (2024).
- Add Moving Reference Frame coupling of a rotating region with a static one. Also more information in: Cazé et al. (2024).
- Renamed boundary condition names (break compatibility with previous version).
- Immersed boundaries can be added in a Cartesian mesh domain (physicalEntity = -1). Similarly to: Trummler et al.
Minor points:
- Option to record boundary quantities such as pressure forces and shear stress (useful for aerodynamic coefficient computation).
- Possibility to display cells' reference length on XML output with unstructured mesh.
- Add a tutorial on mesh mapping and low-Mach preconditionning options.
- Add scripts related to droplet shock-induced cavitation. More information in: Biasiori-Poulanges & Schmidmayer (2023) and Schmidmayer & Biasiori-Poulanges (2023).
- Improve variable name style for Gnuplot output.
- Increase code coverage by nonreg.
- Updated AMR refinement criteria to match the different modelling.
- Always a little more source code translation from French to English.
- A wall is now considered as a symmetry BC if viscosity is ignored.
- Update of documentation.
Fixes:
- Fix the getTemperature() and copyPhase() methods for multiphase models.
- Fix restart bug when using alphaNull on PUEq model.
- Fix bug on simulation progress when using iteration control mode.
- Fix a MPI data type that caused a crash during MPI_Allreduce on some compilers.
- Minor fix for Euler-Korteweg model.
- Correction on UEq BC for volume fraction flux, using sM instead of uStar to respect transport equation.
- Update non-regression scripts to make them compatible with OS X.
- Correction for phase change with a second-order method.
ECOGEN_v3.1
2022-01-27
ECOGEN_v3.1 is available on GitHub. It includes new features and fixes bugs.
Major points:
- Add velocity-equilibrium model. Read the following paper for more information: K. Schmidmayer, J. Cazé, F. Petitpas, E. Daniel, N. Favrie. "Modelling interactions between waves and diffused interfaces". 2021.
- Add velocity-equilibrium model based on total-energy equations. Read the previous paper for more information.
- Possibility to use another gradient method (Green-Gauss) which is compatible with unstructured meshes. Previously, finite differences were the only available.
- Possibility to use low-Mach preconditioning technique for Euler & pressure-velocity-equilibrium models.
- Option to use 1D with smooth cross-section-variation scheme (useful for nozzles).
- Add models augmented Euler-Korteweg and defocusing non-linear Schrödinger as well as Van der Waals equation of state. Mainly experimental work.
Minor points:
- Possibility to reduce output variable number for UEq and PUEq models.
- Restarting computation possible for all models for XML format output.
- Possibility to record flux on boundary (massflow, total enthalpy) and/or flow quantities (density, pressure, velocity) in agreement with Moving Reference Frame method.
- Possibility to set precision for specific outputs (probes, cuts, global quantities, boundary flux/quantities).
- Possibility to run test cases from a different folder.
- Minor modification of axi-symmetric computations for second-order simulations.
- Better handling of pressure relaxations when Newton-Raphson method does not converge.
- Update of documentation regarding test cases.
Fixes:
- Fix recording of probes with computational restart.
- Fix bug on unstructured meshes using hexaedron and prisms.
- Correction on NASG EOS to allow null volume fractions.
- Fix bug GNU dataset output precision.
- Fix bug AMR parallel when large domains were used
- Fix bug AMR parallel on printing of load.
ECOGEN_v3.0
2021-03-10
ECOGEN_v3.0 is available on GitHub. It includes new features and fixes bugs:
- General restructuration and cleaning.
- Correction of several bugs (viscous terms, etc.).
- Additionnal reference test cases.
- Non-regression test database and tool added.
ECOGEN_v2.0
2020-05-11
ECOGEN_v2.0 is available on GitHub. It includes new features and fixes bugs:
- AMR multicore computations are now efficiently load balanced.
- New equation of state implemented: Noble-Abel Stiffened-Gas EOS.
ECOGEN_v1.0
2020-04-29
ECOGEN_v1.0 is available on GitHub. It includes new features and fixes bugs.
ECOGEN_v0.0
2017-11-27
First version of ECOGEN, ECOGEN_v0.0, available on GitHub.