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.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-load
which 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.movies
and {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.RestarterABC
and {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.lock
in the result directory during the runs - Better handling of signals (
SIGINT
,SIGTERM
andSIGUSR2
) fluidsim-restart
supports idempotent jobs (OAR scheduler)- {func}
fluidsim.util.get_dataframe_from_paths
usingsim.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_emp
in {mod}fluidsim.base.output.spatiotemporal_spectra
)
0.6.0 (2022-02-07)
-
New subpackage {mod}
fluidsim.util.scripts
and 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.projection
for ns3d solvers.The equations (
ns3d
,ns3d.strat
andns3d.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_attrib
is called instead of_set_child
by a InfoSolver instance - New function
iter_complete_params
- Warnings added when
-
Output
spatial_means_regions_milestone.py
using {mod}fluidsim.extend_simul
. -
New options
no_vz_kz0
andNO_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_root
to initialize only the root level. - !211 :
Replace for ns2d solvers the output
frequency_spectra
(nearly not used) by the newer outputtemporal_spectra
written 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-core
andfluidsim
- Base classes and abstract base classes defined for
params
,info_solver
,sim
,output
instances - 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.plot
andphys_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.