Skip to content

v2.6.0

Compare
Choose a tag to compare
@github-actions github-actions released this 04 Dec 20:53
· 2719 commits to dev since this release

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 quantity@i 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