Skip to content

Releases: simpeg/discretize

v0.11.1

06 Nov 14:38
8d780d2
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.11.0...v0.11.1

v0.11.0

25 Oct 05:30
9ab8fbc
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.10.0...v0.11.0

v0.10.0

27 Oct 23:37
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.9.0...v0.10.0

0.9.0 Release

06 Jun 16:45
e14e13e
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.8.3...v0.9.0

0.8.3

13 Apr 19:48
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.8.2...v0.8.3

Discretize restructure

18 Nov 17:35
Compare
Choose a tag to compare

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

03 Sep 00:22
Compare
Choose a tag to compare

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.

Contributors

Pull requests

  • #212: Volume average
  • #216: Update 2_tensor_mesh.py
  • #217: Fix Slicer matplotlib-warning.
  • #220: 0.5.0 release notes and requirements update

NumPy Build & Bug Fixes

11 Jan 00:23
Compare
Choose a tag to compare

summary of changes

This is a patch to fix a few bugs that have popped up over the last few months, as well as a single function addition to output only the model for a TreeMesh.

Also we have dropped testing of discretize on Python 2.7 as it is officially in end-of-life stage (as of January 1st, 2020).

  • From #191:
    Enables discretize to be installed on a system without NumPy present beforehand (for example when pip installing discretize).
    It also contains a small update to the curvilinear mesh view that updates that function to be in line with the other plotImage functions.

  • From #189:
    Bugfix. Slicer failed if xslice was provided without a yslice, because of wrong comparison.
    Before, if you provided a homogenous model, it looked like this:
    Selection_002
    So the colour in the xy- and xz-plots is wrong. As soon as you scroll, the colour in the yz-plot will change to the wrong colour too.
    With the bug-fix, they all get the right colour, and will remain correct if scrolling:
    Selection_001
    The bug only affects homogeneous fullspaces, which caused an issue with the range used by colorbar().

  • From #187:
    We can output models through the writeUBC method of the TreeMesh. However, we might want, for symmetry with TensorMesh, also have the writeModelUBC function, which will only write out the model.

serialization of meshes

06 Aug 23:24
Compare
Choose a tag to compare

summary of changes

  • Update instantiation of basemesh so meshes can be formed from their serialized state, e.g.

    mesh = discretize.BaseMesh.deserialize(mesh_json)
    

    will have the value of _n stored, thus, n does not need to be provided on instantiation

  • Update the x0 property on the TreeMesh so that it goes through the

  • Allow complex scalars to return true in the isScalar util, as well as numpy.number (rather than specifically np.int, np.float)

  • Add testing on the serialization / deserialization of meshes

Tree functions

08 Jul 21:12
Compare
Choose a tag to compare

Updates

  • Several of the functions are used to integrate line source terms for FDEM.
  • The TreeCell object now exposes it's node/edge/face indices to python, a TreeCell object can be obtained by directly indexing the TreeMesh.
  • Added much documentation to the TreeMesh objects and their functions.
  • The TreeMesh plotSlice and plotGrid functions now have the same calling conventions as the respective TensorMesh functions