Releases: simpeg/discretize
v0.12.0
What's Changed
- bump sphinx and pydata-sphinx to more recent versions by @jcapriot in #402
- Small cleanups to the external TreeMesh code, no functionality changes by @jcapriot in #400
- Add point2index functionality for
tensor_meshby @jcapriot in #401 - Updates for python free threading by @jcapriot in #403
- Updates for cibuildwheel by @jcapriot in #405
- Add functionality to refine a
TreeMeshusing an "image" by @jcapriot in #406 - V0.12.0 staging by @jcapriot in #407
Full Changelog: v0.11.3...v0.12.0
v0.11.3
What's Changed
- Switches to libc math import by @jcapriot in #396
- Allow
TreeMesh.__repr__to run when non finalized by @santisoler in #393 - Add safeguards to TreeMesh properties by @santisoler in #394
- Python3.13 by @jcapriot in #377
- 0.11.3 staging by @jcapriot in #397
Full Changelog: v0.11.2...v0.11.3
v0.11.2
What's Changed
- improve scalar test to handle arbitrary dimensional ndarrays by @jcapriot in #388
- Set no diagonal balance when reading UBC tree meshes by @santisoler in #386
- Fix small typos in diagonal_balance warning by @santisoler in #387
- Implement truthiness for Zero and Identity by @jcapriot in #389
- Fix formatting new warning by @prisae in #390
- v0.11.2 staging by @jcapriot in #391
Full Changelog: v0.11.1...v0.11.2
v0.11.1
v0.11.0
What's Changed
- Replace deprecated Numpy's
productbyprodby @prisae in #347 - Fix typo in tutorials by @xiaolongw1223 in #353
- Replace Slack links for Mattermost links by @santisoler in #351
- Update year in LICENSE by @lheagy in #354
- Set minimum to Python 3.10 (and general CI Maintenance) by @jcapriot in #368
- Replace hanging CurviMesh in docstring for CurvilinearMesh by @omid-b in #358
- Fix slicer re #363 by @prisae in #364
- Add version switcher to discretize docs by @santisoler in #371
- Deploy docs to a new folder named after their tagged version by @santisoler in #372
- display dev doc banner by @jcapriot in #373
- Update use of
numpy's random number generators. by @jcapriot in #360 - Bump pydata_sphinx_theme version to 0.15.4 by @jcapriot in #374
- Fix caching of internal projection matrices by @jcapriot in #375
- Fix macos-latest build by @jcapriot in #376
- Expose TreeMesh geometric intersections used for refine functions. by @jcapriot in #356
- Add
TensorMesh.cell_boundsproperty by @santisoler in #366 - Add
TreeCell.boundsandTreeMesh.cell_boundsmethods by @santisoler in #367 - Create build_distributions.yml by @jcapriot in #380
- Numpy2.0 updates by @jcapriot in #379
- 0.11.0 Release Notes by @jcapriot in #381
New Contributors
- @xiaolongw1223 made their first contribution in #353
- @omid-b made their first contribution in #358
Full Changelog: v0.10.0...v0.11.0
v0.10.0
What's Changed
- Add black, flake8 and flake8 plugins to environment file by @santisoler in #327
- Use any Python 3 in pre-commit by @santisoler in #328
- Simplex stashing by @jcapriot in #329
- Add new TensorCell class by @santisoler in #325
- Configure pyvista for doc builds by @jcapriot in #330
- Add a noexcept clause to the wrapper function by @jcapriot in #331
- Face props mass matrices by @dccowan in #326
- Pin flake8 by @jcapriot in #335
- Add cell_nodes property to TensorMesh by @santisoler in #333
- Update a test expression to fix a logical short circuit by @munahaf in #339
- Add export config for git archives by @jcapriot in #340
- Pyproject.toml by @jcapriot in #338
- CIbuildwheel by @jcapriot in #342
- Add Release Notes for 0.10.0 by @jcapriot in #343
New Contributors
Full Changelog: v0.9.0...v0.10.0
0.9.0 Release
What's Changed
- Add stacklevel to warnings by @jcapriot in #309
- Switch to try_emplace by @jcapriot in #308
- Assert tests by @jcapriot in #310
- Remove calls with deprecated dir argument by @jcapriot in #312
- change name and description of average edge to face by @jcapriot in #314
- update doc page style sheet by @jcapriot in #315
- Curvilinear vector boundary integral by @jcapriot in #316
- Cyl average edge by @jcapriot in #317
- Feat/simp boundary by @jcapriot in #318
- Add message to assertion error in tests. by @jcapriot in #319
- Nodal boundary example by @jcapriot in #320
- Capture scroll by @prisae in #322
- Cyl mesh generalization by @jcapriot in #321
- 0.9.0 staging by @jcapriot in #323
- Add
total_nodesmethod to TreeMeshes by @santisoler in #324
New Contributors
- @santisoler made their first contribution in #324
Full Changelog: v0.8.3...v0.9.0
0.8.3
What's Changed
- Dark mode theme for documentation by @jcapriot in #292
- Testing environment updates by @jcapriot in #294
- Diagonal tree balance by @jcapriot in #295
- More tree refine functions by @jcapriot in #296
- Add new refine surface, bounding box, and point refine methods. by @jcapriot in #297
- Build maintenance by @jcapriot in #299
- implement zeros outside for interpolation function by @jcapriot in #298
- Add style testing by @jcapriot in #300
- Documentation updates by @jcapriot in #301
- 0.8.3 staging by @jcapriot in #302
Full Changelog: v0.8.2...v0.8.3
Discretize restructure
This minor release is intended to bring consistent pep8 style naming across all of discretize's classes and functions.
There are two major types of renaming, aliases and deprecations. We have chosen to move to more descriptive property names for classes, generally. For example, mesh.area is deprecated and now is mesh.face_area. Also properties like mesh.vnC are now officially mesh.shape_cells due to the more descriptive name, but can also be accessed as mesh.vnC to speed up some code writing for users. We have included a full list of aliases and deprecations below. In PR #227 we have detailed our reasonings behind individual name choices.
The other big change that will likely cause previous code to break is that all of these mesh.shape_* type properties are now explicitly tuple-s, making them immutable. These properties could previously be modified which would result in undefined and unsafe behavoir. A side effect of this, is that any code that relied on these properties being numpy.ndarray-s, will break. This is intentional.
There's a few internal changes as well, to reorganize the file structure. importing items in discretize.utils from their individual module files is not recommended and might result in future broken code. Please only import these items from the discretize.utils module.
We have also separated the matplotlib plotting code into a separate module: discretize.utils.mixins.mpl_mod. At the same time we have further improved the plotting speed of discretize.TreeMesh and discretize.CurvilinearMesh. This also allows all of these functions to have a unified calling convention.
Finally, we have removed assert errors in favor of throwing the proper exception when checking inputs. We have removed all references to __future__ and six to clean up and drop python 2 compatibility.
Changes
For a full list of deprecations and aliases please visit the release notes in the documentation here.
Volume Average
discretize 0.5.0 Release Notes
This minor release has a few small bug fixes as well as a new volume averaging operator.
The Volume Averaging operator has been implemented for arbitrary TensorMesh, TreeMesh, and combinations of them. It is defined as being a mass conserving operation. More details can be found in its documentation discretize.utils.volume_average
There are also some updates for the new deprecations in matplotlib to hopefully throw less deprecation warnings internally. There are still a few left which are on our radar to fix in the next patch.
We are also dropping support for python 3.5 which will reach end-of-life within a few weeks.