Discretize

Latest version: v0.11.2

Safety actively analyzes 706267 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 9

0.6.0

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 <a href=http://discretize.simpeg.xyz/en/master/release/0.6.0-notes.html>here</a>.

0.5.0

======================

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](http://discretize.simpeg.xyz/en/master/api/generated/discretize.utils.volume_average.html#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
-------------

* jcapriot
* prisae
* bluetyson

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

0.4.11

- commits from: jcapriot, prisae, thast
- reviews from: jcapriot, lheagy

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](https://user-images.githubusercontent.com/8020943/71760752-e2b0eb80-2ec2-11ea-944e-1fb14ff5b802.png)
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](https://user-images.githubusercontent.com/8020943/71760754-e2b0eb80-2ec2-11ea-9fa8-efc873b69d51.png)
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.

0.4.9

- from pr: 182
- commits from: jcapriot, lheagy
- review from: jcapriot

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

0.4.8

- from pr 177
- commits from jcapriot
- pr started by micmitch
- review from lheagy

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

0.4.7

- from pr: 172
- commits from: dccowan
- review from: sarahgarre, sgkang, lheagy

Tutorials in the discretize docs
Addition of tutorials for:
- Mesh generation (tensor, cyl and tree)
- Averaging and differential operators
- Discretized approximations to inner products using finite volume (basic, constitutive relations, differential operators and an advanced section)
- Solving PDE examples

![image](https://user-images.githubusercontent.com/6361812/60741119-2713fc80-9f1d-11e9-84a7-8f9498cfddbf.png)

Page 2 of 9

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.