Releases
v2.6.0
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
You can’t perform that action at this time.