Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 42 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,46 +1,67 @@
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

### Changed

- Minimum Python version bumped to 3.11
- Upgraded plumkdocs to ^1.0.0

## [0.2.1] - 2024-09-17

### Changed

- Upgraded `jaxdf` dependency

## [0.2.0] - 2023-12-18

### Fixed

- Fixed arguments error in helmholtz notebook

### Changed

- `Medium` objects are now `jaxdf.Module`s, which is based on `equinox` modules. It is also a [parametric module for dispatching operators](https://beartype.github.io/plum/parametric.html), meaning that there's a type difference betwee `Medium[FourierSeries]` and `Medium[FiniteDifferences]`, for example.
- The settings of time domain acoustic simulations are now set using a `TimeWavePropagationSettings`. This also includes an attribute to explicity set the reference sound speed.

### Added

- Added a logger in `jwave.logger`

### Removed

- Removed `pressure_from_density` from `jwave.acoustics.conversion`, as it was a duplicate

## [0.1.5] - 2023-09-27

### Added

- Added `numbers_with_smallest_primes` utility to find grids with small primes for efficient FFT when using FourierSeries

### Fixed

- Restored `default_params` for the helmholtz operators that wen missing since the last jaxdf update

## [0.1.4] - 2023-06-29

### Changed

- Refactored `save_video` to use opencv.

### Deprecated

- `plot_complex_field` has been deprecated in favor of `display_complex_field`

### Removed

- Removed the uncertainty propagation notebook example. For a more in depth example of using linear uncertainty propagation see [this repository](https://github.com/ucl-bug/linear-uncertainty)

### Added

- Exposed `points_on_circle` function to generate points on a circle
- Exposed `unit_fibonacci_sphere` function
- Exposed `fibonacci_sphere` function
Expand All @@ -49,56 +70,77 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
- Exposed bli_function that is used to compute the band limited interpolant

## [0.1.3] - 2023-06-28

### Added

- Added off grid sensors [@tomelse]

## [0.1.2] - 2023-06-22

### Changed

- updated documentation
- made imageio and tqdm optional dependencies

## [0.1.1] - 2023-06-22

### Fixed

- fixed pypi classifiers

## [0.1.0] - 2023-06-22

### Added

- `k0` is automatically calculated in the Convergent Born Series, if not given, using the fromula from Osnabrugge et al.

### Fixed

- updated for new `Array` type in `jax` 0.4.x

### Changed

- reverted checkpoint to only step checkpoints for time varying simulations. Soon jwave will use diffrax for advanced checkpointing

## [0.0.4] - 2022-11-04

### Added

- Convergent Born series.

### Fixed

- Correctly handles Nyquist frequency for Helmholtz operator, to improve agreement with k-Wave.
- Fixed incorrect domain size for angular spectrum.
- Angular spectrum is only dispatched on `pressure` types.

## [0.0.3] - 2022-07-05

### Added

- Angular spectrum method for single frequency sources.
- Differentiable rayleigh integral (from a plane)

## [0.0.2] - 2022-06-23

### Added

- Generate `TimeHarmonicSource` from point sources.

### Fixed

- Helmholtz notebook parameters bug.

## [0.0.1] - 2022-06-07

### Added

- Finite differences helmholtz tested.
- Extract time varying params without running the simulation.
- Windows one-line installer

### Fixed

- Using numpy operations in TimeAxis for static fields.
- Pml for 1D and 3D simulations.
- Plotting functions of `jwave.utils` now work with both `Field`s and arrays.
Expand All @@ -116,4 +158,3 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
[0.0.3]: https://github.com/ucl-bug/jwave/compare/0.0.2...0.0.3
[0.0.2]: https://github.com/ucl-bug/jwave/compare/0.0.1...0.0.2
[0.0.1]: https://github.com/ucl-bug/jwave/releases/tag/0.0.1

10 changes: 5 additions & 5 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,10 @@ license = "LGPL-3.0-only"
classifiers=[
"Intended Audience :: Education",
"Intended Audience :: Science/Research",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Environment :: GPU",
"Environment :: GPU :: NVIDIA CUDA",
"Environment :: GPU :: NVIDIA CUDA :: 11.6",
Expand All @@ -50,7 +50,7 @@ packages = [
"Support" = "https://discord.gg/VtUb4fFznt"

[tool.poetry.dependencies]
python = "^3.9"
python = "^3.11"
jaxdf = "^0.2.8"
matplotlib = "^3.0.0"

Expand All @@ -69,7 +69,7 @@ mkdocs-mermaid2-plugin = "^0.6.0"
mkdocstrings-python = "^1.1.2"
python-kacl = "^0.4.6"
pymdown-extensions = "^10.0.1"
plumkdocs = "0.0.2"
plumkdocs = "^1.0.0"
tqdm = "^4.65.0"
opencv-python = "^4.7.0.72"

Expand Down
Loading