Releases

This is a list of the standard AVBP releases since 2002. For each version, the main developments are reported.
The current production version is 7.11.1.



  • Combustion/chemistry
    • Changed: definition of phi based on local composition suitable for any mixture (specifier phi_definition_postproc = classical/cazeres).
    • Changed: enable multiple SIRT (Soft Ignition using Relaxed Temperature) depositions
    • Changed: adaptation of IPRS to biflux configurations
    • Added: variables phil (liquid equivalence ratio) and phitot (total equivalence ratio, ie gas+liquid) in the instantaneous and average solution files
    • Added: new subcycling method for chemistry. Helps improve ARC robustness when the simulation time step is higher than the chemical time step. New specifiers LDSC.activate (run.params) and LDSC.min_dtchem and LDSC.max_subcycle_nb (mixture_database.dat)
    • Added: new specifier takeno.species_name to define a custom Takeno index based on multiple species
    • Added: 3D (phi, P, T) or 4D (phi, P, T, phibg) tables can now be used to tabulate TFLES parameters (sl_0, delta_l_0, omega_0)
    • Added: if not specified in the run.params, the fresh gas temperature used as an input of the TFLES table is locally computed using an enthalpy balance
    • Added: implementation of a third type of PEA correction (new block PEA-REHEAT)
    • Added: phenomenological model of [Castela et al., Comb. Flame 2016] for plasma assisted combustion (NRP discharges). Block PAC-MODEL
    • Added: new ARC mechanism for plasma-assisted combustion simulation (CH4_22_418_9_NB). Derived from a Polimi mechanism
    • Added: new ARC mechanism for H2/air + NOx (H2_NOX_15_94_0_TC)
    • Added: new ARC mechanism for CH4/air (CH4_27_855_25_QC)
    • Added: new ARC mechanism for JET A/air (JETA_exp_30_522_22_AP)
    • Added: new ARC mechanism for C1/air (C1_35_479_29_JW)
    • Added: new ARC mechanism for C12H26/air (NC12H26_42_262_0_JW)
    • Added: new ARC mechanism for C12H26/air (NC12H26_27_231_12_CM)
    • Added: new 2-step global scheme 2S_KERO_M2 for reheat
    • Changed: H2O2_8_21_0_PB has been renamed H2O2_8_18_0_PB (P. Boivin mechanism). N2 species removed.
    • Changed: H2AIR_9_21_0_PB has been renamed H2_9_42_0_SD (skeletal San Diego mechanism)
    • Removed: H2_O2_12S deprecated mechanism
  • Lagrangian solver
    • Changed: improve the robustness of the multicomponent evaporation model
    • Changed: the order of the species defined in the mixtures database does not affect the definition of the multicomponent liquid
    • Added: can specify liquid species transport coefficients in the species database (viscosity, diffusion and thermal conductivity) to calculate multicomponent evaporation
    • Added: frozen gas option for lagrangian flows (specifier frozen_flow)
    • Added: FASTER secondary breakup model, specifier breakup_model = FASTER [Treleaven et al., Flow Turb. Combust. 2022]
    • Changed: Improve the robustness of the FAST and FASTER breakup models. Introduce a limiter that prevents from releasing too many droplets per time step (specifier breakup_model.rparcel_mult)
    • Added: new lagrangian field yliq (liquid phase mass fractions for multicomponent evaporation) stored in the lagrangian solution files
  • AMR
    • Added: ALE deformation with Treeadapt
    • Added: decomposition of the initial metric into flame metric and turbulence metric
    • Added: interpolation of the initial metrics
    • Added: mesh refinement in the fresh gases only (specifier fresh_gases_only)
    • Added: dump the mesh and solution files before and after each mesh adaptation (specifier dump_before_after_adaptation )
    • Added: automatic method to trigger the mesh adaptation (specifier automatic_threshold)
    • Added: new metric omega to detect vortices (specifier use_omega_metric)
    • Added: new interpolation algorithms for Treeadapt (specifier treeadapt_interpolation_type)
    • Added: automates the procedure for generating an initial solution after a forced initial mesh adaptation
  • Boundary conditions
    • Changed: remove congruence parameter for INLET_FILM boundary conditions. Feature #1672
    • Added: new BCs WALL_LAW_MULTIPERF_TARGET_ALE, WALL_LAW_MULTIPERF_TARGET_TURBULENCE, WALL_LAW_MULTIPERF_TARGET_TURBULENCE_ALE
  • Numerics
    • Added: new convection scheme convection_scheme = centered_vc (second-order centered scheme in a vertex-centered formulation)
    • Added: 2D cylindrical simulation can be activated with axisymmetry_rz = yes. The rz plane will be simulated in cylindrical coordinates where the cartesian coordinates x and y of the mesh respectively correspond to z and r. Only available for vertex-centered schemes (convection_scheme = hllc, hllc_muscl or centered_vc)
  • Miscellaneous
    • Added: check and ensure initial solution is periodic before starting simulation. Enabled by default, can be disabled via run.params (specifier check_and_ensure_periodicity)
    • Added: Introduce neural network coupling capabilities to AVBP (specifiers save_avbpdl_timers and avbpdl_timers_dir)
    • Added: planar flame CANTERA initialization (specifier gas_out.type = PLANE_CANTERA)
    • Added: Q criterion in the relative frame of reference for ALE computations
  • HPC
    • Added: extend GPU coverage (source terms FV)
    • Added: GPU compilation in CI
  • Tools
    • Changed: makesolution now generates an xdmf file
    • Added: new python script check_angle.py. Provides the angle in [deg] of a rotating solution (turbomachinery)
    • Added: new python script plot_amr. Used for reading and plotting the algorithmic, metric and performance data from the avbp_log file of one or many AMR runs
    • Added: new script xforces to plot the temporal evolution of pressure and viscous forces on patches (viscous forces due to the resolved wall shear stress for WALL_ BCs, and viscous forces due to the law-of-the-wall (tau_wall) for WALL_LAW_ BCs.). Values are extracted from the temporal file avbp_flux
  • Plasma
    • AVBP is now able to simulate low-temperature plasma discharges, such as streamer which is the basic phenomenon of gas discharge. The models are developed in the context of Plasma-Assisted Combustion (PAC) and focus on Nanosecond Repetitively Pulsed (NRP) discharges for now. The plasma phase is modeled in the classical drift-diffusion framework and the Local Field Approximation (LFA). To get the electric field, a Poisson equation is solved consistently with the charged species using the external PETSc Library. This library has been embedded in a generic object 'petsc_linsystem' and could be reused for other purposes. A coupling between the plasma phase and the reactive gaseous mixture has been implemented, allowing to perform detailed coupled plasma-combustion simulations.
    • Added: new block PLASMA-CONTROL to activate low-temperature plasma discharge detailed modeling. It can be activated using plasma = yes in the RUN-CONTROL block
    • Added: new block SPECIES-GROUP::X to define the species in the plasma phase
    • Added: module to wrap PETSc (mod_linsystem.f90). Usefull to solve the Poisson equation, photoionisation equations, ...
    • Added: boundary conditions for the Poisson equation (DIRICHLET or NEUMANN)
    • Added: method to impose plasma-neutrality, used when ambipolar electric field is activated (specifier electric_field)
    • Added: boundary conditions for drift diffusion equations: NO_BOUNDARY (for the cylindrical axis), OUTLET_SUPER (supersonic outlet) and OUTLET_NEUMANN (supersonic outlet without diffusion flux)
    • Added: chemical mechanisms for detailed plasma-assisted combusiton simulations (coupled): PLASMA_AIR: reduction (GRI 3.0 - PLASMA) for discharges in air; PLASMA_CH4_AIR_FG: reduction (Konnov - PLASMA) for discharges in fresh gases CH4-air
    • Added: number of electron deficit for each species in the species database (specifier species_E_element)
    • PLASMA-CONTROL block
      • Added: different modeling strategies for the electric field using the specifier electric_field: constant (imposed E field), poisson (the Poisson equation is solved using PETSc to get the electric field), spark (spark model from Tholin thesis) or ambipolar (ambipolar electric field using the assumption of constant diffusion coefficients, allowing to avoid electron timestep constraints)
      • Added: timestep threshold to switch from Poisson to spark modeling (specifier dt_spark)
      • Added: the electric field can be imposed by providing the x, y and z components of the electric field vector (specifier E_field_imposed)
      • Added: plasma simulations can be performed without having to deal with the whole AVBP mixture (NS, species, ...) using mixture = no. When no mixture is used, the neutral background density must be imposed with the specifier neutral_background
      • Added: the discharge energy can be controlled using the specifier discharge_energy_target (the pulse is switched off when the discharge energy reaches the targeted value)
      • Added: BOLSIG+ is embedded in AVBP to compute EEDF related parameters (specifiers bolsig_data and cs_database). The number of points of the energy grid can be set using bolsig_EN_npts. Only available with the HOST KRAKEN
      • Added: photoionisation module (specifier photoionization) [Bourdon et al., PSST 2007]
      • Added: for cases including vibration, a fictive species must be specified to model the non-equilibrium vibrational energy (specifier vib_species_name)
      • Added: on the fly discharge energy computation (electromagnetic energy, discharge energy from the total mixture energy, vibrational energy, acoustic energy estimate, BOLSIG+ power loss)
    • SPECIES-GROUP::X block
      • Added: drift-diffusion type convection schemes convection_scheme = lw_vc_lim (Limited Lax-Wendroff scheme [L. Cheng Ph.D. 2022]), upwind, improved_sg (Improved Scharfetter Gummel scheme [N. Barleon Ph.D. 2022]). All these schemes are available in 2D and 2D-cylindrical coordinates. Only the upwind scheme is available in 3D
      • Added: thermodynamic fits or database (thermo = computed and thermo_name = morrow, bagheri or bolsig)
      • Added: initialisation of the plasma species density using an input file specified with the specifier profiles (gaussian, step, sines, tanh)
  • Bug fixes
    • Fixed: in wetbulb, the evaporating species is not identified.
    • Fixed: bug with boundary conditions WALL_LAW_ISOFLUX(_ALE)
    • Fixed: consideration of the grid velocity in the calculation of fluxes for ALE walls (x_mc_exact)
    • Fixed: bug #2297 (multiple FIMUR injections with different angles)
    • Fixed: bug #2737 (avoid null format descriptor)
    • Fixed: bug #2795 (WALL_LAW correction for ALE computation)
    • Fixed: bug #2804 (gravity on liquid only)
    • Fixed: bug #2834 (missing definition of Ystate_fic for BCs INLET_RELAX_UVW_T_Y_PULSE_MONOCHROMATIC and INLET_RELAX_P_T_Y_PULSE_MONOCHROMATIC)
  • Combustion/chemistry
    • Added: IPRS model (Ignition to Propagation Reduced Scheme) [Misdariis et al., PCI 2015]
    • Added: Charlette Dynamic Saturated efficiency function with corrections from [Mouriaux et al., PCI 2017] (efficiency_model = CDSM)
    • Added: filtering of the local mesh size in order to smooth the thickening factor field (l_mesh_filtering = yes)
    • Fixed: sectional soot model: correction of retro-action source terms signs (C2H2), correction of soot collision diameter computation, adds PGS scaling
  • LES
    • Added: 2D version of the WALE sgs turbulence model
  • Numerics
    • Added: Implementation of HLLC and HLLC-MUSCL schemes (_convection_scheme = hllc, hllc_muscl_rk1, hllc_muscl_rk2 or hllc_muscl_rk3)
  • Automatic mesh refinement
    • Added: filtered max metric for flame detection (use_filtered_max_metric = yes)
    • Changed: use the same functions for metric construction with treeadapt and yales2
  • Outputs
    • Changed: reworked timer handling, new timer for global point to point communications
    • Added: if timers are activated, a json file +timers.json+ is written in the TEMPORAL folder to allow for python post-processing
    • Added: post processing types cut_planar_bnd (bounded planar cut) and integration_cut_bnd (bounded integration cut)
    • Added: moving post processing functionalities (cut and integration cuts follow the mesh movement). Only works for rotation (user_law = 21)
    • Added: additional post processing (computation of the venting term on integration planes, flame conditioned statistics, numerical Schlieren, conditional tracking)
  • HPC
    • Added: host HERCULE (Air Liquide)
    • Added: extend GPU coverage (QPF Karman street)
  • Tools
    • Added: in gas_out, option to initialize a planar flame from a cantera solution file
    • Added: in gas_out, option to specify a distance to the wall for which the velocity field is canceled. Only works for gas_out.type = R_CANTERA
    • Added: in solut_convert_chem, convert chemistry with non-adiabatic boundaries
    • Added: python script x_timers.py to plot and compare AVBP timers (from +timers.json+ files)
  • Bug fixes
    • Fixed: bug #2752 (Smagorinsky model in 2D)
    • Fixed: bug #2803 (bug when using several INLET_TURB patches)
    • Fixed: bug #2786 (floating overflow when computing temporal data, EL computations)
    • Fixed: bug #2077 (correction for BC INLET_FILM_ALE)
    • Fixed: bug #2663 (fix crash of point source correction when using non-contiguous partitions)
  • Combustion/chemistry
    • New ARC schemes for CH4/O2, NC12H26/air with NOx chemistry, C3H8 steam cracking
  • Automatic mesh refinement
    • Introduction of treeadapt API
    • Compatibility with recent versions of YALES2 (commit ID c66f71dc et seq.)
  • Boundary conditions
    • RAMP feature for INLET_FILM and WALL_LAW_MULTIPERF_* boundary conditions
  • Outputs
    • User variables and expressions are now dumped in the average solution files (in addition to the instantaneous files)
  • HPC
    • Extend GPU coverage, refactoring
    • New host A100 for Rome GPUs
  • Tools
    • modthermo: new tool, modifies the pressure and/or temperature of an instantaneous solution
    • evap_mc_0D: new tool, multicomponent version of evol_evap0D, restricted to purely evaporating droplet (no combustion)
    • evol_evap0D: new input format, more readable and independent of the run.param file
  • Bug fixes
    • Mass conservation with PAMELA atomization model #2757
    • Coupling AVBP-PRISSMA/DL #2701
    • Bug with INLET_RELAX_UVW_T_Y_ITA boundary condition #2739
    • Resize arrays after using secondary breakup models (FAST or SAB) #2741
    • Correction of the critical Weber number in the FAST secondary atomization breakup model #2731
    • Correction of the soft ignition model for 2D cases #2744
    • Takeno condition not coded for the relaxation sensor (TFLES model) #2733
    • Remove the limitation of 100 injectors (EL computations) #2754
  • Combustion/chemistry
    • Update of the generic sensor for TFLES
    • New ARC schemes for kerosene/air, alternative fuels/air, CH4/air, NC12H26/air and C7H16/O2
  • HPC
    • improve wall distance calculation speed using kdtree search (for efficiency models)
  • Boundary conditions
    • New boundary condition OUTLET_RELAX_P_3D_PULSE_SIGNAL (broadband forcing)
  • Lagrangian solver
    • update of the PAMELA model (primary atomization model for prefilming airblast atomizers).
  • Inputs
    • run.params: refactoring of the INITIAL-CONDITIONS block. An initial condition can be directly constructed in ABVP. This processing can replace the reading of an initial solution or apply to this initial solution. Current possibilities: homogeneous fields, add_vortex, gas_out
  • Outputs
    • command.dat: the dump_inst keyword allows to dump a lagrangian solution (in addition to the gaseous instantaneous solution)
    • EL2EE fields are calculated and stored in the instantaneous solution files in case of crash
  • Coupling/TAVBP
    • AVBP-AVTP coupling
    • PTA (Profile Transform Approach)
    • local time stepping for MISCOG
  • Tools
    • solution_diff: refactoring to reduce CPU cost and memory requirements
    • meanmean: generation of an xdmf file in addition to the mean solution file
    • joinbin: new option «constant» to obtain a constant sampling frequency
  • HPC
  • Boundary conditions
    • Initial Introduction of GPU acceleration using OpenACC
      • Requires OpenACC compiler support (PGI, IBM, GNU)
      • Activated with `make gpu` compilation and `ACC_MODE=TRUE` environment key (see README.md)
      • Available for gaseous reactive computation only. All models and boundary conditions are not yet available. Code will stop if non-ported options are requested.
  • Boundary conditions
    • New boundary condition `WALL_LAW_ISOFLUX` (logarithmic law-of-the-wall with imposed heat flux)
  • Lagrangian solver
    • New injection `focal_point`: atomization model for a liquid cone (liquid rocket engines)
  • Inputs
    • run.params: new specifier `gravity_on_liquid_only` to allow gravity to be applied only to the liquid phase (by default gravity is applied to both gas and liquid phases).
    • run.params: new options for the `SPONGE-LAYER-REAC` block (the sponge layer can be of box or annular type)
  • Outputs
    • Extraction of boundary patches as isosurfaces (specifiers `bnd_family.*`)
  • Miscellaneous
    • Removal of the ifpi=1 option (FPI PCM)
    • Removal of the ivisc=1 option (old diffusion operator)
    • AVBP can now run in debug mode (activated with `make debug` compilation)
  • Tools
    • gas_out: thickening factor can be specified for option 4 (flame initialization from a Cantera profile)
    • glob2arc_decane is able to deal with lagrangian solutions
  • Combustion/Chemistry
    • Generic sensor for TFLES
    • New cryogenic transformation compatible with reactive cases (on the fly treatment)
    • New ARC schemes
      • C2H4_28_276_14_LG
      • JetAPAH_29_233_15_LG
      • JetA3Comp_45_686_16_QC
      • H2_K_10_12_0_OD (flame inhibition)
      • H2_NA_10_12_0_OD (flame inhibition)
      • CH4_NA_20_156_8_OD (flame inhibition)
  • Lagrangian solver
    • Multi component evaporation
    • Chemical inhibitor model
    • PAMELA model update
    • Corrections MustARD model
    • Senoner variant of the FAST breakup model
  • Automatic grid adaptation
    • First implementation using MMG and YALES2 routines
  • HPC
    • Support for MPI3 shared memory comms
  • Miscellaneous
    • Generic coupling module
    • Continuation of the refactoring of the data structure: solution arrays and scalars and now included in the grid_t structure
  • Tools
    • ASAP: CEMA (Chemical Explosive Mode Analysis) diagnostics
  • Boundary conditions
    • NR-NSCBC extension for INLET_RELAX_UVW_T_Y, INLET_RELAX_UVW_T_Y_PULSE, INLET_RELAX_RHOUVW_T_Y, INLET_RELAX_UN_T_Y, INLET_RELAX_UN_T_Y_PULSE and INLET_RELAX_UVW_T_Y_ITA boundary conditions
  • Lagrangian solver
    • Soot model
    • Merging/splitting algorithm
    • Update airblast modeling
    • Update particle/wall interaction model (splash, film, rebound, …)
  • Miscellaneous
    • Shock sensor Kawai & Lele
    • Refactoring of the data structure: introduction of grid_t and solver_t data structures
  • New format for the input files (*dat files)
  • New format for the asciibound and asciibound_tpf files
  • New format for the probe file. No need to use the track tool before the computation.
  • The master/slaves architecture is removed. The code is now fully parallel, including partitioning (parMETIS or PT-Scotch) and IOs (Parallel HDF5)
  • Cray pointers are removed are replaced by Fortran allocatables and pointers
  • All routines are now in Fortran 90 (free format). No need for pre-compilation (_m4* files)
  • Include files are removed are replaced by modules
  • The MPL library is removed. MPI routines are directly used
  • Doxygen documentation
  • The boundary patches may be re-ordered directly in the codes. No need to use HIP before the run
  • New options for debugging: debug levels, timers, allocation table, ...
  • New options to check the computation (sum of mass fractions in the initial solution file or in the solutbound file, target values in the solutbound file)
  • New interpolation algorithm (AABB tree)
  • New post-processing "on-the-fly": cuts (plane, frustrum) and iso-surfaces
  • New command file to stop the run or to store solution files (instantaneous or average)
  • The user can add any variables in the solution files (instantaneous or average), without recompilation
  • The user can add an expression in the solution files (instantaneous), without recompilation
  • Output directories are automatically created if they don't exist
  • New efficiency functions for TFLES model: dynamic model of Charlette et al. (saturated or not)
  • Wall damping in efficiency functions may be activated or not
  • Filtering operator for flame thickening
  • A solution file is stored if the run crashes due to negative pressure or erroneous tpf values (in addition to the classical problem in temperature)
  • The end of the computation may be specified in terms of wall clock time
  • Average files are stored in single precision
  • Additional variables in the instantaneous solution files are stored in single precision
  • Multiple computations may be parametrized with a single input file and launched in the same AVBP run
  • Add pressure forces in the temporal files
  • xdmf files for direct visualization in Ensight and Paraview
  • Pressure and temperature are stored in the instantaneous solution files
  • The number of IO processors may be parametrized
  • The size of the thermodynamic tables (entropy, enthalpy) is now free
  • Multi sponge layers
  • The forced corner option may be activated directly in the asciibound file, without using HIP.
  • NOx model
  • Film model for Euler/Lagrange computations
  • Euler/lagrange computations compatible with mesh movement
  • Haselbacher algorithm for Euler/Lagrange computations
  • Multi-holes injection for Euler/Lagrange computations
  • xdmf files for direct visualization in Ensight and Paraview
  • Pre-partitioning
  • FPI-TTC
  • Connection with PALM
  • SIGLE Lagrangian models (drag, breakup, rebound, evaporation)
  • FIMUR for Euler/Lagrange computations
  • Periodicity conditions for Euler/Lagrange computations
  • IFCM model
  • Wall flux output
  • ParMETIS partitioning
  • Lagrangian budgets
  • No slip law-of-the-wall
  • Update ECFM-LES + ISSIM
  • Zonal post-processing
  • ITC = 2 & 3
  • Connection with AVBP Real Gas
  • Lagrangian module for TPF
  • HDF5 format (mesh files + solutBound)
  • PCM-FPI
  • Parallel interpolator
  • Cook & Cabot
  • Liquid and species mass balances
  • Interpolation on coarse meshes
  • Coupled multiperforated walls
  • CMS artificial viscosity model for TPF
  • PEA formalism
  • Sponge layer
  • Non reflecting outlet boundary condition with transverse terms
  • new corner treatment
  • radiation
  • multiperforated BC
  • prepartitioning
  • METIS partitioning
  • balances
  • USOT/CSOT
  • ignition (CFM)
  • dynamic Smagorinsky model
  • k-equation
  • CFM (Coherent Flame Model)
  • Local optimal thickening
  • HIT postprocessing
  • Ablative walls
  • MPL (Massively Parallel Library)
  • passive scalar
  • CTI (Conditioned Temporal Interpolation)
  • penalty method
  • source terms
  • turbulence injection
  • wall laws
  • diffusion scheme
  • avbp_local output format
  • residual output
  • ALE
  • dynamic thickening
  • species sensor
  • multi-steps reactions
  • variable thermodynamics