Skip to content

Releases: PMEAL/OpenPNM

Version 2.2.0

11 Jan 17:59
Compare
Choose a tag to compare

This is the first release of 2020, and is hopefully part of a new 'semester-based' release schedule. So instead of waiting an undefined amount of time until we have enough new features for a release, we will release all the new features we have added in the past semester.

🚀 New features (experimental)

  • The MultiPhase class for better automated handling of multiphase simulations, including species partitioning between phases
  • The Mixtures submodule for better automated handling of mixtures such as air or brine

🐛 Improvements and bugfixes

  • Example scripts have been moved out of the main directory and into /scripts
  • Enhanced the cooperative pore filling models for the MixedIP algorithm
  • Improved speed of InvasionPercolation very substantially (about 25x)
  • Enhanced purge_object to accept list of objects
  • Added reset method to GenericTransport and ReactiveTransport so objects can be reused inside a for-loop
  • Bug fix in plot_networkx method

Fixing error when git not installed

24 Oct 16:15
62a54de
Compare
Choose a tag to compare

I recently added a small feature that appends the git commit to the version number for users working on a branch other than master, but the import of gitpython apparently fails if the host machine does not have git installed. Now this import occurs inside a try-accept so will not break

Fixing broken pip install

20 Oct 02:36
Compare
Choose a tag to compare

Several of our dependencies broke with the release of numpy 1.15, so users doing pip install with a recent conda installation (on windows) would receive a build error. This version has moved the offending deps to be optional.

There are a number of other small bug fixes and tweaks that were also added, but these were not as urgent.

Version 2 is finally ready!

23 Aug 19:58
Compare
Choose a tag to compare

🚀 New features and capabilities

  • All Transport algorithms are now transient, including non-linear reactions
  • A Dispersion algorithm with 4 optional discretization schemes has been added
  • A mixed percolation algorithm has been added that can model drainage and/or imbibition, and includes detailed menisci movements such as snap-off, burst, and coalescence
  • Several new network generators have been added such as bcc and fcc lattices
  • Support for several new solvers, including pyAMG and scikit-umfpack which can now both be installed using pip, and PetSc, assuming you are able to install it yourself (not supported by pip).
  • The symmetry of the coefficient matrix is now maintained when boundary conditions are are added, which significantly improves the speed of some CG based solvers (>2x faster).

Pore-Scale Models

  • Much more rigorous and accurate pore-scale conductance models
  • Pore-scale models can now be assigned to any object, so a model that calculates pore diameters can be assigned to a network if desired
  • Pore-scale models are now stored in a top level module, making then more prominent and easier to find

Importing and Exporting Data

  • Added support for two new data export formats: hdf5 and xdmf. These are designed for storing massive data sets with maximum speed, and the xdmf format can be open in Paraview for vastly sped-up visualization
  • The PNM file format was refined to save either single projects or entire workspaces seamlessly

Better Organization and General Housekeeping

  • The algorithm classes have been completely re-written for better consistency
  • A settings attribute has been added to all objects to contain various flags and values which used to be stored as hidden attributes
  • Topological manipulation tools have been moved from a sub-module of network to a top level module (topotools) to make it easier to access and more prominent
  • A Project class has been added, that acts as a container for a given pore network simulation, such that the Workspace is populated with a collection of Projects, each of which contains a Network object and all other associated objects (i.e. geometries, phases, etc.)

📖 Documentation

  • The documentation has been thoroughly overhauled, and now includes complete coverage of all modules, classes, methods, and functions.
  • The OpenPNM-Example repository has been converted to Jupyter Notebooks so users can download actual functioning code to get started

⚠️ Backwards incompatible changes

One of the main reasons for the version bump to 2.0 was to allow several long delayed changes that break backward compatibility. These are all quite superficial, so any experience using V1.0 should be easily transferred:

  • All module names, including the package itself, have been changed to lowercase in accord with pep8 rules
  • Neumann and Dirichlet boundary conditions have been renamed to Rate and Value to be more descriptive
  • The behavior of the various lookup methods (pores, find_neighbor_pores) have been cleaned up for better consistency
  • A unique Physics objects must be defined for each Geomery object. This is a bit more effort for the user, but allows much more reliable associations between objects. The new Project class has a grid method that can help to organize and visualize these associations.

Version 2, Beta-2

17 Aug 03:38
Compare
Choose a tag to compare
v2.0.0-beta.2

Merge branch 'dev'

Version 2, Beta-1

22 Jul 19:27
Compare
Choose a tag to compare

This adds the last few weeks of bug fixes and tweaks to the master code. The final release is schedule for July 27th, 2018.

Version 2, Beta-0

09 Jul 07:28
Compare
Choose a tag to compare

This is a beta release of V2. A more verbose release announcement will come when the beta tag is dropped.

Version 1.7.0

09 Jul 05:59
Compare
Choose a tag to compare

The main addition of this release is a Mixed Invasion Percolation algorithm, which was used in our recent publication in TiPM.

The OpenPNM team has been working VERY hard on V2, which is now available on PyPI in beta form, so this will be the last release of the V1 branch.

Patch for indexing errors in latest Numpy version

05 Jul 14:41
Compare
Choose a tag to compare

Numpy has been warning us for a while that certain indexing tricks would be deprecated, and that moment has arrived. This minor patch fixes a few places in the code where this error occurred.

Deploying to PyPI

18 Feb 04:56
Compare
Choose a tag to compare
Merge pull request #682 from PMEAL/deploy_to_pip

adding version number to openpnm, setting up autodeploy to pip