Skip to main content



Please cite as:

Gostick et al. "OpenPNM: a pore network modeling package." Computing in Science & Engineering 18, no. 4 (2016): 60-74. doi:10.1109/MCSE.2016.49

Overview of OpenPNM!!!

OpenPNM is a comprehensive framework for performing pore network simulations of porous materials.

For more details about the package can be found in the on-line documentation

Installation and Requirements

OpenPNM can be installed from the Python Package Index using:

pip install openpnm

or from Anaconda Cloud using:

conda install -c conda-forge openpnm

or the source code can be downloaded from Github and installed by running:

pip install -e 'path/to/downloaded/files'

The advantage to installing from the source code is that you can edit the files and have access to your changes each time you import OpenPNM.

OpenPNM requires the Scipy Stack (Numpy, Scipy, Matplotlib, etc), which is most conveniently obtained by installing the Anaconda Distribution.

Example Usage

The following code block illustrates how to use OpenPNM to perform a mercury intrusion porosimetry simulation:

import openpnm as op
pn = op.network.Cubic(shape=[10, 10, 10], spacing=0.0001)
geo = op.geometry.StickAndBall(network=pn, pores=pn.Ps, throats=pn.Ts)
Hg = op.phases.Mercury(network=pn)
phys = op.physics.Standard(network=pn, phase=Hg, geometry=geo)
mip = op.algorithms.Porosimetry(network=pn)
mip.setup(phase=Hg)
mip.set_inlets(pores=pn.pores(['left', 'right', 'top', 'bottom']))
mip.run()

The network can be visualized in ParaView giving the following:

The drainage curve can be visualized with mip.plot_intrusion_curve() giving something like this:

A collection of examples is available in the examples folder of this repository: Examples

Contact

OpenPNM is developed by the Porous Materials Engineering and Analysis Lab (PMEAL), in the Department of Chemical Engineering at the University of Waterloo in Waterloo, Ontario, Canada.

The lead developer for this project is Prof. Jeff Gostick (jgostick@gmail.com).

Metadata

Release files for openpnm-test 3.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for openpnm-test 3.0.0
File Size Uploaded
openpnm-test-3.0.0.tar.gz 273.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for openpnm-test 3.0.0
File Interpreter ABI Platform
openpnm_test-3.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 650.0 kB

Release files / openpnm-test-3.0.0.tar.gz

Download URL openpnm-test-3.0.0.tar.gz
Size 273.8 kB
Tags Source
SHA-256 checksum
How to use checksums
6eff705181a793af0fd5cd433366d677326e41bc7dc57ab7cd31e18486c0e097
BLAKE2b-256 checksum
How to use checksums
b96df33bbc302b1950680473544eccffb9357bbb8531c4e87bd25391330c8f0f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.3

Release files / openpnm_test-3.0.0-py3-none-any.whl

Download URL openpnm_test-3.0.0-py3-none-any.whl
Size 376.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3f6abdd4969e03ec4877e1f999fc9fce09c1119e26e21b53cc5a60ec5637b582
BLAKE2b-256 checksum
How to use checksums
05f6308bf6696265a52850fcfa6113bdefa5b2c7a0c651a0b7912e447d6e8a84
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.3

Release history Release notifications | RSS feed

This release

3.0.0 This release

2 release files

2.4.1

2 release files

2.4.0

2 release files

2.3.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page