OpenPNM
  • Home
  • News
  • Documentation
  • Examples
  • Source Code
  • Publications

Version 2.6 Released

Posted on December 4, 2020

The OpenPNM team has put a huge amount of effort into version 2.6, as can be seen by the very long list of changes below. Head over to https://github.com/PMEAL/OpenPNM to get the latest code, or do conda update openpnm.

v2.6.0

New features

  • Added source term models for Butler-Volmer kinetics
  • Added set_outflow_BC to NernstPlanck algorithm
  • Added a web-based dependency map using D3-tree javascript library
  • Added stitch_pores function to topotools for joining disconnected pores within an existing network
  • New robust version-agnostic PNM file format, see PR#1621 for details
  • set_rate_BC now optionally accepts total_rate, which is equally distributed among pores
  • Added name to settings
  • Added uuid to all objects (stored as a hidden setting _uuid)
  • Added a new grid class called Tableist to better handle the project grid

Enhancements

  • Add _validate_data_health to the run method of algorithms
  • Vastly improved the default formatting of show_hist's grid layout
  • Storing the transient solution times in the settings to make indexing into [email protected] arrays easier
  • Revamped the documentation, also it's now hosted on GitHub Pages (numba breaks readthedocs)
  • Exposed the ability to set/change/remove locations where physics and geometries are applied
  • Speed up neighbour throat lookups by ~100X
  • Enhanced extend function to work with phases present
  • Removing exception in stitch if phases are present
  • Allow merging of networks when geometry is present
  • Improved behavior when physics objects are instantiated without an associated phase
  • Improved grid functionality on the project class
  • Fixed PNM load_project method to deal with class attrs
  • Fixed scaling in plot_conns and plot_coords

Maintenence

  • Improved the boundary condition setters to prevent invalid combinations
  • Changed _get_solver behavior to fall back to spsolve if pardiso missing
  • Refactored MultiPhase and fixed the global partition coefficient model's dependency handling bug
  • Extended checks for invalid 't_schemes' setting on transient algs
  • Added examples and tests for the Salome export class
  • Changed PARDISO solver backend from haasad/pypardiso to conda-forge/pardiso4py

API changes

  • Renamed throat_shape_factor submodule (+ dict keys in method args) to capillary_shape_factor for clarity
  • Renamed pore/throat_area submodules (+ dict keys in method args) to cross_sectional_area for clarity
  • Changed "_2D" to "2D" in class names and lowercased "_2D" in method names
  • Deprecating python 3.6

Bugfixes

  • Fixed bug in charge source term (in Nernst-Planck) that produced all 0s in some cases
  • Properly combine BCs and ICs on first time step in ReactiveTransientTransport
  • Saving to PNM now skips models with non-serializable args
  • Added a check to ensure phase is defined before running alg
  • Plot conns/coords methods now pass kwargs on to matplotlib functions
  • Workspace load_project now reads file AND returns the project
  • topotools.dimensionality is now more robust with respect to numerical round-off
  • Object names are now enforced to be unique within a project
  • Updated Imported geometry class to accept project as well as network
  • ReactiveTransport now checks for convergence when maximum iterations reached and reports if not achieved

Documentation

  • Fixed a typo in data_and_topology_storage.ipynb example
  • adding readme to tutorials folder
  • New example discussing domain size calculations
  • Improved docstring in add_model to include new explicit mode
  • Fixed a typo in adding_boundary_pores.ipynb
  • Fixed a typo in docstrings of topotools.reduce_coordinates
  • Added a tutorial on using the dev branch of openpnm via git
  • Fixed typo in relative permeability calculation notebook
  • Significantly revamped the examples directory for improved categorization of material
« Version 2.5 is now available

News and Announcements

  • Version 2.6 Released December 4, 2020
  • Version 2.5 is now available October 20, 2020
  • Version 2.3 is now available April 12, 2020
  • OpenPNM Receives a SECOND round of CANARIE Funding January 24, 2020
  • OpenPNM to be integrated into Dragonfly! September 20, 2018

Citation

OpenPNM is developed by the PMEAL Group at the University of Waterloo.  If you use the package in any publications please help us by citing the following article:

Gostick et al. OpenPNM: A pore network modeling package. Computing in Science & Engineering. 18(4), p60-74 (2016).

Star Us on Github

Star


CyberChimps Pro Premium WordPress Theme

© OpenPNM