All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
See also the unreleased changes.
% Type of changes
% ---------------
% Added Added for new features.
% Changed Changed for changes in existing functionality.
% Deprecated Deprecated for soon-to-be removed features.
% Removed Removed for now removed features.
% Fixed Fixed for any bug fixes.
% Security Security in case of vulnerabilities.
0.9.0 (2025-12-03)
-
!440 Better mechanism to print information after simulation initiation
-
!442 Store "state parameters" in restarting files
-
!441 and !443 basic utilities related to physical fields files {mod}
fluidsim.util.phys_fields
0.8.6 (2025-11-23)
- Compatibility h5netcdf 1.7
- Fix incorrect restart for forcing time correlated
0.8.5 (2025-10-23)
- !427 Support for Python 3.14
- !421 New time
stepping method
RK2_phaseshift_random_split - !415
FLUIDSIM_TYPE_FFT2DandFLUIDSIM_TYPE_FFT3D(see https://fluidfft.readthedocs.io/en/latest/plugins.html) - !408
temporal_spectra.py: improve plot_spectra - !407 Improve isotropic tcrandom forcing
- !400 New script
scripts/install-fluidsim-stack-from-source.py - and various fixes and small improvements...
0.8.4 (2024-11-08)
- Python 3.13 compatibility
0.8.3 (2024-08-27)
- New build with Transonic 0.7.2 to fix Windows wheels
0.8.2 (2024-08-17)
- Compatibility with Python 3.12, Numpy 2.0 and mpi4py 4.0.
- Few bug fixes and small improvements.
- Installation methods with Apptainer and Guix.
0.8.1 (2024-02-12)
- Few fixes for Fluidfft 0.4.0
0.8.0 (2024-01-31)
- Build and upload wheels on PyPI with Github Actions!
- Much better CI in foss.heptapod.net and Github Actions.
- Use the Meson build system via meson-python.
- Development: use PDM, Nox and Pixi.
0.7.4 (2023-10-05)
- !342 Refactoring and improvements spectra ns2d and ns3d.
- !335 Improvement
fluidsim-ipy-loadwhich can now take a path as argument - Code improvements, bug fixes (in particular for movies) and compatibility with new Matplotlib
0.7.3 (2023-05-24)
- Official support for only Python 3.9, 3.10 and 3.11.
- Few improvements for Fluidsimfoam.
0.7.2 (2023-01-05)
- New module {mod}
fluidsim_core.output.remaining_clock_time.
0.7.1 (2022-11-30)
- !325 Small changes in restarts utilities for Snek5000 0.8.0.
0.7.0 (2022-11-23)
-
!316 Interactive movies
-
- Refactor movie code in fluidsim-core with several improvements and bugfixes
({mod}
fluidsim_core.output.moviesand {mod}fluidsim_core.output.phys_fields) - Movies for Snek5000
- Refactor movie code in fluidsim-core with several improvements and bugfixes
({mod}
-
!319 Refactor restart code in fluidsim-core ({class}
fluidsim_core.scripts.restart.RestarterABCand {class}fluidsim.util.scripts.restart.Restarter) -
!320 Restart for Snek5000 in fluidsim-core
-
!321 command
fluidsim-ipy-load.
0.6.1 (2022-09-07)
-
Turbulence models with
extend_simul_class(!308, see {mod}fluidsim.base.turb_model) -
Kolmogorov forcing (!307, see {mod}
fluidsim.base.forcing.kolmogorov) -
Output {mod}
fluidsim.base.output.horiz_means(!309) -
Output {mod}
fluidsim.base.output.cross_corr3d(!295) -
Better support for 3d FFT libs based on pencil decompositions (!283)
-
- File
is_being_advanced.lockin the result directory during the runs - Better handling of signals (
SIGINT,SIGTERMandSIGUSR2) fluidsim-restartsupports idempotent jobs (OAR scheduler)- {func}
fluidsim.util.get_dataframe_from_pathsusingsim.output.get_mean_values - {func}
fluidsim.util.get_last_estimated_remaining_duration sim.output.spatiotemporal_spectra.get_spectra
- File
-
CI also running on Github Actions (!224)
-
Various fixes (in particular energy steps with
fluidsim-restart) -
Various plot improvements (in particular
plot_omega_empin {mod}fluidsim.base.output.spatiotemporal_spectra)
0.6.0 (2022-02-07)
-
New subpackage {mod}
fluidsim.util.scriptsand module {mod}fluidsim.util.scripts.turb_trandom_anisotropic(!255). -
Entry points console_scripts
fluidsim-restart(!261) andfluidsim-modif-resolution(!263). -
Forcing {class}
fluidsim.base.forcing.anisotropic.TimeCorrelatedRandomPseudoSpectralAnisotropic(extension for 3d solvers + new parameterparams.forcing.tcrandom_anisotropic.delta_angle) (!247). -
New projection functions (toroidal/poloidal) in {mod}
fluidsim.operators.operators3d(!247). -
! 250: New parameter
params.projectionfor ns3d solvers.The equations (
ns3d,ns3d.stratandns3d.bouss) can be modified by projecting the solutions on the poloidal or toroidal manifolds. -
Faster loading at Python start (!264)
-
Various bugfixes, in particular related to restart.
0.5.1 (2021-11-05)
- !244: Taylor Green forcing for ns3d solvers
- fluidsim-core: change order for the initialization of the parameters: Simul class before the subclasses.
0.5.0 (2021-09-29)
-
!200 : New mechanism to easily extend a Simul class (subpackage {mod}
fluidsim.extend_simul). -
!201 : Improve FluidSim Core API with a warning and a convenience function
- Warnings added when
_set_attribis called instead of_set_childby a InfoSolver instance - New function
iter_complete_params
- Warnings added when
-
Output
spatial_means_regions_milestone.pyusing {mod}fluidsim.extend_simul. -
New options
no_vz_kz0andNO_KY0. -
Spatiotemporal spectra and many improvements for the temporal spectra for ns3d and ns2d solvers by Jason Reneuve (!202, ...)
-
Better Burgers1d solvers (by Ashwin Vishnu)
- !200 : (internal)
{class}
fluidsim_core.info.InfoSolverCore:__init__now fully initializes the instance (calling the methodcomplete_with_classes). New keyword argumentonly_rootto initialize only the root level. - !211 : Replace for
ns2d solvers the output
frequency_spectra(nearly not used) by the newer outputtemporal_spectrawritten for ns3d solvers.
- Many bugfixes!
0.4.1 (2021-02-02)
Few bugfixes and !192 (temporal spectra for ns3d solvers).
0.4.0 (2021-01-11)
-
!186: Package split into
fluidsim-coreandfluidsim- Base classes and abstract base classes defined for
params,info_solver,sim,outputinstances - Entry points as a plugin framework to register FluidSim solvers
- Base classes and abstract base classes defined for
-
base/output/print_stdout.py: better regularity saving + methodplot_clock_times -
Able to run bigger simulations (
2034x2034x384) on the Occigen cluster (in particular new functionfluidsim.modif_resolution_from_dir_memory_efficient)
0.3.3 (2020-10-15)
- Bugfixes and optimizations (in particular for ns3d solvers)
- Forcing WATU Coriolis and Milestone for ns3d.strat
- pyproject.toml and isolated build
- Timestepping using phase-shifting for dealiasing
- Improve regularity of saving for some outputs
0.3.2 (2019-11-14)
- Bug fixes and Transonic 0.4 compatibility
0.3.1 (2019-03-07)
- Windows compatibility
- Only Python code (stop using Cython)
- Improvements ns2d.strat
0.3.0 (2019-01-31)
- Drop support for Python 2.7!
- Accelerated by Transonic & Pythran (also time stepping)
- Better setup.py (by Ashwin Vishnu)
- Improvement ns2d.strat (by Miguel Calpe Linares)
- Much better testing (internal, CI, compatibility pytest, coverage 87%)
- Fix several bugs :-)
- New function load_for_restart
0.2.2 (2018-07-01)
- Let fluidfft decides which FFT class to use (dependency fluidfft >= 0.2.4)
0.2.1 (2018-05-24)
- IPython magic commands (by Ashwin Vishnu).
- Bugfix divergence-free flow and time_stepping in ns3d solvers.
0.2.0 (2018-05-04)
- Many bugfixes and nicer code (using the Python code formatter Black).
- Faster ns3d solver.
- ns2d.strat + anisotropic forcing (by Miguel Calpe Linares).
- Nicer forcing parameters.
- Better
phys_fields.plotandphys_fields.animate(by Ashwin Vishnu and Miguel Calpe Linares). - Faster installation (with configuration file).
- Installation without mpi4py.
- Faster time stepping with less memory allocation.
- Much faster ns3d solvers.
- Uses fluidfft and Pythran
- Compatible fluiddyn 0.1.2
- 0D models (predaprey, lorenz)
- Continuous integration, unittests with bitbucket-pipelines
Merge with geofluidsim (Ashwin Vishnu Mohanan repository)
- Movies.
- Preprocessing of parameters.
- Less bugs.
- Use a cleaner parameter container class (fluiddyn 0.0.8a1).
- SetOfVariables inherits from numpy.ndarray.
- The creation of default parameter has been simplified and is done by a class function Simul.create_default_params.
- Split the package fluiddyn between one base package and specialized packages.