openpnm

A Python package for performing pore network modeling of porous media

https://github.com/pmeal/openpnm

Science Score: 77.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in README
  • Academic publication links
    Links to: ieee.org
  • Committers with academic emails
    21 of 59 committers (35.6%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.8%) to scientific vocabulary

Keywords

modeling-tool network-graph porous-materials porous-media python scientific-computing

Keywords from Contributors

3d-images image-analysis porespy tomography voxel-generator
Last synced: 6 months ago · JSON representation ·

Repository

A Python package for performing pore network modeling of porous media

Basic Info
  • Host: GitHub
  • Owner: PMEAL
  • License: mit
  • Language: Python
  • Default Branch: dev
  • Homepage: http://openpnm.org
  • Size: 392 MB
Statistics
  • Stars: 490
  • Watchers: 32
  • Forks: 178
  • Open Issues: 59
  • Releases: 39
Topics
modeling-tool network-graph porous-materials porous-media python scientific-computing
Created over 12 years ago · Last pushed about 1 year ago
Metadata Files
Readme License Code of conduct Citation

README.md


VERSION 3.0 of OpenPNM is now out. All the examples on the website are now using the features and idioms of V3. For a description of the main changes please see our recent blog post.

Overview of OpenPNM

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

More Information

For more details about the package can be found in the online documentation

Installation and Requirements

pip

OpenPNM can be installed using pip by running the following command in a terminal:

shell pip install openpnm

conda-forge

OpenPNM can also be installed from the conda-forge repository using:

conda install -c conda-forge openpnm

[!WARNING]
For compatibility with ARM64 architecture, we removed pypardiso as a hard dependency. However, we still strongly recommend that non-macOS users (including users of older Macs with an Intel CPU) manually install pypardiso via pip install pypardiso or conda install -c conda-forge pypardiso, otherwise OpenPNM simulations will be very slow.

For developers

For developers who intend to change the source code or contribute to OpenPNM, 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.

Asking Questions and Getting Help

Github now has a Discussions function, which works similarly to stack overflow. Please post your question in the Q&A category so devs or users can provide answers, vote on accepted answers, improve on each other's answers, and generally discuss things. Most importantly, all answers are searchable so eventually, once enough questions have been posted and answered, you can find what you're looking for with a simple search.

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).

Acknowledgements

OpenPNM is grateful to CANARIE for their generous funding over the past few years. We would also like to acknowledge the support of NSERC of Canada for funding many of the student that have contributed to OpenPNM since it's inception in 2011.

Citation

If you use OpenPNM in a publication, please cite the following paper:

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

Also, we ask that you "star" :star: this repository so we can track the number of users who are interested in this project, which is helpful for securing future grant funding.

Owner

  • Name: PMEAL
  • Login: PMEAL
  • Kind: organization
  • Email: jgostick@gmail.com
  • Location: Waterloo, ON

Porous Materials Engineering and Analysis Lab

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Gostick"
  given-names: "Jeff"
  orcid: "https://orcid.org/0000-0001-7736-7124"
title: "OpenPNM"
url: "https://github.com/PMEAL/OpenPNM"
preferred-citation:
  type: article
  authors:
  - family-names: "Gostick"
    given-names: "Jeff"
    orcid: "https://orcid.org/0000-0001-7736-7124"
  - family-names: "Aghighi"
    given-names: "Mahmoudreza"
  - family-names: "Hinebaugh"
    given-names: "James"
  - family-names: "Tranter"
    given-names: "Tom"
  - family-names: "Hoeh"
    given-names: "Michael A."
  - family-names: "Day"
    given-names: "Harold"
  - family-names: "Spellacy"
    given-names: "Brennan"
  - family-names: "Sharqawy"
    given-names: "Mostafa H."
  - family-names: "Bazylak"
    given-names: "Aimy"
  - family-names: "Burns"
    given-names: "Lehnert"
  - family-names: "Werner"
    given-names: "Harold"
  - family-names: "Putz"
    given-names: "Andreas"
  doi: "10.1109/MCSE.2016.49"
  journal: "Computing in Science & Engineering"
  start: 60 # First page number
  end: 74 # Last page number
  title: "OpenPNM: a pore network modeling package"
  year: 2016

GitHub Events

Total
  • Issues event: 12
  • Watch event: 44
  • Issue comment event: 12
  • Push event: 2
  • Pull request event: 4
  • Fork event: 8
Last Year
  • Issues event: 12
  • Watch event: 44
  • Issue comment event: 12
  • Push event: 2
  • Pull request event: 4
  • Fork event: 8

Committers

Last synced: about 2 years ago

All Time
  • Total Commits: 8,747
  • Total Committers: 59
  • Avg Commits per committer: 148.254
  • Development Distribution Score (DDS): 0.656
Past Year
  • Commits: 142
  • Committers: 7
  • Avg Commits per committer: 20.286
  • Development Distribution Score (DDS): 0.444
Top Committers
Name Email Commits
Jeff Gostick j****f@g****a 3,012
Amin Sadeghi a****i@l****m 1,564
jgostick j****k@g****m 1,274
jgostick j****k@u****a 393
Ni2M n****h@u****a 385
Mahmoudreza Aghighi m****i@m****a 285
Tom Tranter t****r@g****m 226
jhinebau j****u@m****a 200
Tom Tranter p****t@l****k 165
GitHub Action a****n@g****m 150
Mike McKague m****9@g****m 145
Unknown m****u@e****u 126
Tom Tranter t****r@u****a 98
bspellacy b****y@g****m 96
Mehrez Agnaou m****b@g****m 92
Debarun Gupta d****9@g****m 69
Mehrez Agnaou m****u@o****m 52
Nil2M m****t@g****m 41
Harold Day h****y@m****a 36
RODRIGO NEUMANN BARROS FERREIRA r****n@b****m 35
Ni2M 4****M 33
Hamed Fathiannasab h****n@g****m 26
Mike McKague m****u@u****a 25
Michael Hoeh m****h@g****e 23
Mostafa Elsharqawy m****y@u****a 22
Mehrez Agnaou m****u@u****a 21
Zohaib z****q@y****m 18
Hamed Fathiannasab h****n@u****a 15
stadelmanma s****a@g****m 14
Roderic Day r****y@g****m 12
and 29 more...

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 137
  • Total pull requests: 77
  • Average time to close issues: 3 months
  • Average time to close pull requests: 16 days
  • Total issue authors: 43
  • Total pull request authors: 8
  • Average comments per issue: 1.88
  • Average comments per pull request: 1.23
  • Merged pull requests: 61
  • Bot issues: 0
  • Bot pull requests: 10
Past Year
  • Issues: 10
  • Pull requests: 6
  • Average time to close issues: about 2 months
  • Average time to close pull requests: 3 months
  • Issue authors: 9
  • Pull request authors: 1
  • Average comments per issue: 0.2
  • Average comments per pull request: 0.33
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • jgostick (53)
  • ma-sadeghi (23)
  • mkaguer (7)
  • JiayanJI (3)
  • LS-Maxwell (3)
  • xiangWu-WW (2)
  • JorgeESantos (2)
  • atheer1990 (2)
  • MJL-JLU (2)
  • jiahui185 (2)
  • kunal0kumar0sinha (2)
  • shillcoat (1)
  • domist07 (1)
  • igibek (1)
  • Stephen-Dauphinais (1)
Pull Request Authors
  • jgostick (49)
  • github-actions[bot] (13)
  • ma-sadeghi (12)
  • hpc-dave (8)
  • mkaguer (3)
  • Arenhart (1)
  • pbriml (1)
  • AlemSnyder (1)
Top Labels
Issue Labels
bug (28) feature request (20) proposal (15) documentation (9) enhancement (8) easy (7) discussion (6) high priority (5) difficult (4) question (3) performance (3) maintenance (2) won't fix (1) api (1) approved (1)
Pull Request Labels
high priority (13)

Packages

  • Total packages: 3
  • Total downloads:
    • pypi 5,792 last-month
  • Total dependent packages: 2
    (may contain duplicates)
  • Total dependent repositories: 11
    (may contain duplicates)
  • Total versions: 62
  • Total maintainers: 2
pypi.org: openpnm

A framework for conducting pore network modeling simulations of multiphase transport in porous materials

  • Versions: 43
  • Dependent Packages: 1
  • Dependent Repositories: 10
  • Downloads: 5,748 Last month
Rankings
Stargazers count: 3.2%
Forks count: 3.9%
Dependent repos count: 4.6%
Average: 4.7%
Dependent packages count: 4.7%
Downloads: 7.0%
Maintainers (2)
Last synced: 6 months ago
pypi.org: openpnm-test

A framework for conducting pore network modeling simulations of multiphase transport in porous materials

  • Versions: 4
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 44 Last month
Rankings
Stargazers count: 3.2%
Forks count: 3.9%
Dependent packages count: 10.1%
Average: 13.7%
Dependent repos count: 21.6%
Downloads: 29.8%
Maintainers (1)
Last synced: 6 months ago
conda-forge.org: openpnm

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

  • Versions: 15
  • Dependent Packages: 1
  • Dependent Repositories: 0
Rankings
Forks count: 13.1%
Stargazers count: 19.5%
Average: 23.9%
Dependent packages count: 28.8%
Dependent repos count: 34.0%
Last synced: 6 months ago

Dependencies

setup.py pypi
  • chemicals *
  • docrep >=0.3
  • flatdict *
  • h5py *
  • json-tricks *
  • jsonschema *
  • matplotlib *
  • networkx *
  • numba *
  • numpy *
  • pandas *
  • pypardiso *
  • scikit-image *
  • scipy *
  • sympy *
  • terminaltables *
  • tqdm *
  • traits *
  • transforms3d *
  • vispy *
.github/workflows/bump-version-dev.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v2 composite
  • stefanzweifel/git-auto-commit-action v4 composite
.github/workflows/bump-version.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • repo-sync/pull-request v2 composite
.github/workflows/cleanup-tags.yml actions
  • actions/checkout v2 composite
.github/workflows/examples.yml actions
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
.github/workflows/gh-pages.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v1 composite
  • conda-incubator/setup-miniconda v2 composite
  • peaceiris/actions-gh-pages v3 composite
.github/workflows/nightly.yml actions
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
.github/workflows/publish-to-pypi.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • pypa/gh-action-pypi-publish master composite
.github/workflows/release-notes.yml actions
  • Roang-zero1/github-create-release-action master composite
  • actions/checkout v2 composite
.github/workflows/style-check.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • py-actions/flake8 v2 composite
.github/workflows/tests.yml actions
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • codecov/codecov-action v2 composite
  • py-actions/flake8 v2 composite
.github/workflows/verify-pip-installation.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
requirements/conda.txt pypi
  • chemicals *
  • docrep *
  • h5py *
  • jsonschema *
  • matplotlib *
  • networkx *
  • numba *
  • numpy *
  • pandas *
  • pyamg *
  • pypardiso *
  • scikit-image *
  • scipy *
  • sympy *
  • thermo *
  • tqdm *
  • transforms3d *
requirements/docs.txt pypi
  • ipympl *
  • jupyterlab_widgets *
  • myst-nb *
  • numpydoc *
  • pandoc *
  • plotly *
  • pydata-sphinx-theme =0.9
  • sphinx *
  • sphinx-copybutton *
  • sphinx-design *
requirements/tests.txt pypi
  • codecov * test
  • jupyter * test
  • nbval * test
  • netgen-mesher * test
  • porespy * test
  • py * test
  • pytest * test
  • pytest-cache * test
  • pytest-cov * test
  • thermo * test