openpnm


Nameopenpnm JSON
Version 2.7.0 PyPI version JSON
download
home_pagehttp://openpnm.org
SummaryA framework for conducting pore network modeling simulations of multiphase transport in porous materials
upload_time2021-02-24 15:36:53
maintainer
docs_urlNone
authorOpenPNM Team
requires_python>=3.6
license
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            [![](https://github.com/PMEAL/OpenPNM/workflows/Ubuntu/badge.svg)](https://github.com/PMEAL/OpenPNM/actions)
[![](https://github.com/PMEAL/OpenPNM/workflows/macOS/badge.svg)](https://github.com/PMEAL/OpenPNM/actions)
[![](https://github.com/PMEAL/OpenPNM/workflows/Windows/badge.svg)](https://github.com/PMEAL/OpenPNM/actions)
[![](https://github.com/PMEAL/OpenPNM/workflows/Examples/badge.svg)](https://github.com/PMEAL/OpenPNM/actions) <br>
[![](https://codecov.io/gh/PMEAL/OpenPNM/branch/dev/graph/badge.svg)](https://codecov.io/gh/PMEAL/OpenPNM)
[![](https://img.shields.io/badge/ReadTheDocs-GO-blue.svg)](https://pmeal.github.io/OpenPNM/)
[![](https://badge.fury.io/py/openpnm.svg)](https://pypi.python.org/pypi/openpnm)
[![](https://anaconda.org/conda-forge/openpnm/badges/installer/conda.svg)](https://anaconda.org/conda-forge/openpnm)


-----

**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](https://ieeexplore.ieee.org/document/7478437)

# 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](https://pmeal.github.io/OpenPNM)

To be notified of new releases click the `Watch` button on the Github repo page.  To show your support for this project click the `Star` button, as we use this as a proxy for the size of our userbase when applying for funding.

## Installation and Requirements

### Preferred method
The preferred way of installing OpenPNM is through [Anaconda Cloud](https://anaconda.org/conda-forge/openpnm) using:

```
conda install -c conda-forge openpnm
```

### Alternative method
OpenPNM can also be installed from the [Python Package Index](https://pypi.org/project/openpnm/) using:

```
pip install openpnm
```

However, we don't recommend installing using `pip` since `pypardiso`, which is a blazing fast direct solver, is not available for Windows users who use Python 3.7+.

### For developers
For developers who intend to change the source code or contribute to OpenPNM, the source code can be downloaded from [Github](https://github.com/pmeal/OpenPNM/) 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](https://conda.io/docs/user-guide/install/download.html).

## Example Usage

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

``` python

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`](http://www.paraview.org) giving the following:

<p align="center">
  <img src="https://user-images.githubusercontent.com/14086031/77927983-dc3dd000-7275-11ea-8700-c96c2d51aa1f.png" width="60%"></img>
</p>

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

<p align="center">
  <img src="https://user-images.githubusercontent.com/14086031/77930201-96363b80-7278-11ea-95fd-4a55fb1d6148.png" width="60%"></img>
</p>

A collection of examples is available in the *examples* folder of this repository: [Examples](https://www.github.com/PMEAL/OpenPNM/tree/dev/examples)

## Asking Questions and Getting Help

Github now has a [Discussions](https://github.com/PMEAL/OpenPNM/discussions) function, which works similarly to [stack overflow](https://www.stackoverflow.com).  Please post your question in the [Q&A category](https://github.com/PMEAL/OpenPNM/discussions?discussions_q=category%3AQ%26A) 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)](http://pmeal.com), in the [Department of Chemical Engineering](https://uwaterloo.ca/chemical-engineering/) at the [University of Waterloo](https://uwaterloo.ca/) in Waterloo, Ontario, Canada.

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



            

Raw data

            {
    "_id": null,
    "home_page": "http://openpnm.org",
    "name": "openpnm",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": "",
    "keywords": "",
    "author": "OpenPNM Team",
    "author_email": "jgostick@uwaterloo.ca",
    "download_url": "https://files.pythonhosted.org/packages/db/12/d3ab11526188925299722102e5ffb8f1c0751526075d47449dbb02f20630/openpnm-2.7.0.tar.gz",
    "platform": "",
    "description": "[![](https://github.com/PMEAL/OpenPNM/workflows/Ubuntu/badge.svg)](https://github.com/PMEAL/OpenPNM/actions)\n[![](https://github.com/PMEAL/OpenPNM/workflows/macOS/badge.svg)](https://github.com/PMEAL/OpenPNM/actions)\n[![](https://github.com/PMEAL/OpenPNM/workflows/Windows/badge.svg)](https://github.com/PMEAL/OpenPNM/actions)\n[![](https://github.com/PMEAL/OpenPNM/workflows/Examples/badge.svg)](https://github.com/PMEAL/OpenPNM/actions) <br>\n[![](https://codecov.io/gh/PMEAL/OpenPNM/branch/dev/graph/badge.svg)](https://codecov.io/gh/PMEAL/OpenPNM)\n[![](https://img.shields.io/badge/ReadTheDocs-GO-blue.svg)](https://pmeal.github.io/OpenPNM/)\n[![](https://badge.fury.io/py/openpnm.svg)](https://pypi.python.org/pypi/openpnm)\n[![](https://anaconda.org/conda-forge/openpnm/badges/installer/conda.svg)](https://anaconda.org/conda-forge/openpnm)\n\n\n-----\n\n**Please cite as:**\n> _Gostick et al._ \"**OpenPNM: a pore network modeling package.**\" Computing in Science & Engineering 18, no. 4 (2016): 60-74.\n> [doi:10.1109/MCSE.2016.49](https://ieeexplore.ieee.org/document/7478437)\n\n# Overview of OpenPNM\n\n*OpenPNM* is a comprehensive framework for performing pore network simulations of porous materials.\n\nFor more details about the package can be found in the [on-line documentation](https://pmeal.github.io/OpenPNM)\n\nTo be notified of new releases click the `Watch` button on the Github repo page.  To show your support for this project click the `Star` button, as we use this as a proxy for the size of our userbase when applying for funding.\n\n## Installation and Requirements\n\n### Preferred method\nThe preferred way of installing OpenPNM is through [Anaconda Cloud](https://anaconda.org/conda-forge/openpnm) using:\n\n```\nconda install -c conda-forge openpnm\n```\n\n### Alternative method\nOpenPNM can also be installed from the [Python Package Index](https://pypi.org/project/openpnm/) using:\n\n```\npip install openpnm\n```\n\nHowever, we don't recommend installing using `pip` since `pypardiso`, which is a blazing fast direct solver, is not available for Windows users who use Python 3.7+.\n\n### For developers\nFor developers who intend to change the source code or contribute to OpenPNM, the source code can be downloaded from [Github](https://github.com/pmeal/OpenPNM/) and installed by running:\n\n```\npip install -e 'path/to/downloaded/files'\n```\n\nThe 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*.\n\nOpenPNM requires the *Scipy Stack* (Numpy, Scipy, Matplotlib, etc), which is most conveniently obtained by installing the [Anaconda Distribution](https://conda.io/docs/user-guide/install/download.html).\n\n## Example Usage\n\nThe following code block illustrates how to use OpenPNM to perform a mercury intrusion porosimetry simulation:\n\n``` python\n\nimport openpnm as op\npn = op.network.Cubic(shape=[10, 10, 10], spacing=0.0001)\ngeo = op.geometry.StickAndBall(network=pn, pores=pn.Ps, throats=pn.Ts)\nHg = op.phases.Mercury(network=pn)\nphys = op.physics.Standard(network=pn, phase=Hg, geometry=geo)\nmip = op.algorithms.Porosimetry(network=pn)\nmip.setup(phase=Hg)\nmip.set_inlets(pores=pn.pores(['left', 'right', 'top', 'bottom']))\nmip.run()\n\n```\n\nThe network can be visualized in [`ParaView`](http://www.paraview.org) giving the following:\n\n<p align=\"center\">\n  <img src=\"https://user-images.githubusercontent.com/14086031/77927983-dc3dd000-7275-11ea-8700-c96c2d51aa1f.png\" width=\"60%\"></img>\n</p>\n\nThe drainage curve can be visualized with `mip.plot_intrusion_curve()` giving something like this:\n\n<p align=\"center\">\n  <img src=\"https://user-images.githubusercontent.com/14086031/77930201-96363b80-7278-11ea-95fd-4a55fb1d6148.png\" width=\"60%\"></img>\n</p>\n\nA collection of examples is available in the *examples* folder of this repository: [Examples](https://www.github.com/PMEAL/OpenPNM/tree/dev/examples)\n\n## Asking Questions and Getting Help\n\nGithub now has a [Discussions](https://github.com/PMEAL/OpenPNM/discussions) function, which works similarly to [stack overflow](https://www.stackoverflow.com).  Please post your question in the [Q&A category](https://github.com/PMEAL/OpenPNM/discussions?discussions_q=category%3AQ%26A) 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.\n\n## Contact\n\nOpenPNM is developed by the Porous Materials Engineering and Analysis Lab [(PMEAL)](http://pmeal.com), in the [Department of Chemical Engineering](https://uwaterloo.ca/chemical-engineering/) at the [University of Waterloo](https://uwaterloo.ca/) in Waterloo, Ontario, Canada.\n\nThe lead developer for this project is Prof. Jeff Gostick (jgostick@gmail.com).\n\n\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "A framework for conducting pore network modeling simulations of multiphase transport in porous materials",
    "version": "2.7.0",
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "md5": "97b274b88a1b35fa73f5566c037a02c8",
                "sha256": "9badce8578a0fbd8cc9627d30615d60c43aa26c4728653e3b1fe4a13a9662edf"
            },
            "downloads": -1,
            "filename": "openpnm-2.7.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "97b274b88a1b35fa73f5566c037a02c8",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 394857,
            "upload_time": "2021-02-24T15:36:52",
            "upload_time_iso_8601": "2021-02-24T15:36:52.555315Z",
            "url": "https://files.pythonhosted.org/packages/47/09/41ef98499743b9a19e9616f711d03fdbc2559cc749a870981715344299fc/openpnm-2.7.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "f6c6bc905ca57dbfee004da3f8bc9aa8",
                "sha256": "6ca4e3c68b3d771e628e7c05b4824e5c9ac61675dba2b853db8fe861259ffb25"
            },
            "downloads": -1,
            "filename": "openpnm-2.7.0.tar.gz",
            "has_sig": false,
            "md5_digest": "f6c6bc905ca57dbfee004da3f8bc9aa8",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 291153,
            "upload_time": "2021-02-24T15:36:53",
            "upload_time_iso_8601": "2021-02-24T15:36:53.811707Z",
            "url": "https://files.pythonhosted.org/packages/db/12/d3ab11526188925299722102e5ffb8f1c0751526075d47449dbb02f20630/openpnm-2.7.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2021-02-24 15:36:53",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "lcname": "openpnm"
}
        
Elapsed time: 0.19526s