openmc-depletion-plotter


Nameopenmc-depletion-plotter JSON
Version 0.4.0 PyPI version JSON
download
home_page
SummaryPlot the isotopes present during depletion steps.
upload_time2023-06-09 13:16:45
maintainer
docs_urlNone
author
requires_python>=3.8
licenseMIT License Copyright (c) 2022 Fusion Energy Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
keywords dagmc geometry plot slice
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            [![N|Python](https://www.python.org/static/community_logos/python-powered-w-100x40.png)](https://www.python.org)

[![CI](https://github.com/fusion-energy/openmc_depletion_plotter/actions/workflows/ci.yml/badge.svg)](https://github.com/fusion-energy/openmc_depletion_plotter/actions/workflows/ci.yml)

Extends OpenMC to provides convenient plotting methods.
This is done by Monkey Patching OpenMC to provide additional functionality to the base classes.
One benefit of this is the user can continue to work with the familiar OpenMC classes and they simply get additional functionality.
Another benefit is that if any of these functions ever become popular enough to include in OpenMC then it could be done with a simple copy paste into the existing class structure.
Plotly figures or MatPlotLib figures are returned for user customization.


:point_right: [API Examples](https://github.com/fusion-energy/openmc_depletion_plotter/tree/main/examples)

# Install

The openmc_depletion_plotter package can be installed from PyPi with the terminal command.

```bash
pip install openmc_depletion_plotter
```

# Graphical User Interface

Once installed you can then used the API or launch the GUI.
To launch the GUI type the following command in the terminal and the browser should open with the GUI.

```
openmc_depletion_plotter
```

![openmc depletion plotter](https://user-images.githubusercontent.com/8583900/226143434-0f3d077c-1403-4efe-8318-7fc10ff00fca.gif)

# Plotting pulse schedule

All the Integrator classes have been extended to include a ```.plot_pulse_schedule()``` method.

This method plots the source rate as a function of time.

This is useful when wanting to visually display a pulse schedule used in an depletion / activation study.

Additional methods provided

```python
openmc.deplete.PredictorIntegrator.plot_pulse_schedule()
openmc.deplete.CECMIntegrator.plot_pulse_schedule()
openmc.deplete.CF4Integrator.plot_pulse_schedule()
openmc.deplete.CELIIntegrator.plot_pulse_schedule()
openmc.deplete.EPCRK4Integrator.plot_pulse_schedule()
openmc.deplete.LEQIIntegrator.plot_pulse_schedule()
openmc.deplete.SICELIIntegrator.plot_pulse_schedule()
openmc.deplete.SILEQIIntegrator.plot_pulse_schedule()
```

![openmc pulse time plot](https://user-images.githubusercontent.com/8583900/188698064-9ffae002-844d-4cdf-aca2-b87d9a8f39b4.png)

# Plotting activation or atoms as a function of time

The ```openmc.deplete.Results()``` class has been extended to include a ```plot_atoms_vs_time()``` method and a ```plot_activity_vs_time``` method.

These methods plot atoms or activity as a function of time.
These plots optionally include a breakdown of the dominant nuclides.
Matplotlib or Plotly backends are available.

Additional methods provided

```python
openmc.deplete.Results.plot_atoms_vs_time()
openmc.deplete.Results.plot_activity_vs_time()
```

![openmc matplotlib activity](https://user-images.githubusercontent.com/8583900/188697525-a156c538-1d67-4efe-b19d-f34850af8b1f.png)
![openmc plotly activity](https://user-images.githubusercontent.com/8583900/188697666-13f4ed29-3293-44f7-99d2-7eabf48d54cb.png)

# Plotting activation or atoms on an isotope chart

The ```openmc.Material()``` class has been extended to include a ```plot_isotope_chart_of_activity()``` method and  ```plot_isotope_chart_of_atoms()``` method.

This method plots the material atoms or the material activity on an isotope chart.

I started making isotope plots back in 2010 so nice to finally distribute this :smile:

Additional methods provided

```python
openmc.Material.plot_isotope_chart_of_atoms()
openmc.Material.plot_isotope_chart_of_activity()
```
![openmc plotly activity](https://user-images.githubusercontent.com/8583900/188697852-962e47d2-4f41-4449-abb1-7cc0b39996e0.png)

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "openmc-depletion-plotter",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "",
    "keywords": "dagmc,geometry,plot,slice",
    "author": "",
    "author_email": "Jonathan Shimwell <mail@jshimwell.com>",
    "download_url": "https://files.pythonhosted.org/packages/db/d4/c09b6ed8b99930efd62a07a7655c660b7c687804e5ce0316e6817b991dc6/openmc_depletion_plotter-0.4.0.tar.gz",
    "platform": null,
    "description": "[![N|Python](https://www.python.org/static/community_logos/python-powered-w-100x40.png)](https://www.python.org)\n\n[![CI](https://github.com/fusion-energy/openmc_depletion_plotter/actions/workflows/ci.yml/badge.svg)](https://github.com/fusion-energy/openmc_depletion_plotter/actions/workflows/ci.yml)\n\nExtends OpenMC to provides convenient plotting methods.\nThis is done by Monkey Patching OpenMC to provide additional functionality to the base classes.\nOne benefit of this is the user can continue to work with the familiar OpenMC classes and they simply get additional functionality.\nAnother benefit is that if any of these functions ever become popular enough to include in OpenMC then it could be done with a simple copy paste into the existing class structure.\nPlotly figures or MatPlotLib figures are returned for user customization.\n\n\n:point_right: [API Examples](https://github.com/fusion-energy/openmc_depletion_plotter/tree/main/examples)\n\n# Install\n\nThe openmc_depletion_plotter package can be installed from PyPi with the terminal command.\n\n```bash\npip install openmc_depletion_plotter\n```\n\n# Graphical User Interface\n\nOnce installed you can then used the API or launch the GUI.\nTo launch the GUI type the following command in the terminal and the browser should open with the GUI.\n\n```\nopenmc_depletion_plotter\n```\n\n![openmc depletion plotter](https://user-images.githubusercontent.com/8583900/226143434-0f3d077c-1403-4efe-8318-7fc10ff00fca.gif)\n\n# Plotting pulse schedule\n\nAll the Integrator classes have been extended to include a ```.plot_pulse_schedule()``` method.\n\nThis method plots the source rate as a function of time.\n\nThis is useful when wanting to visually display a pulse schedule used in an depletion / activation study.\n\nAdditional methods provided\n\n```python\nopenmc.deplete.PredictorIntegrator.plot_pulse_schedule()\nopenmc.deplete.CECMIntegrator.plot_pulse_schedule()\nopenmc.deplete.CF4Integrator.plot_pulse_schedule()\nopenmc.deplete.CELIIntegrator.plot_pulse_schedule()\nopenmc.deplete.EPCRK4Integrator.plot_pulse_schedule()\nopenmc.deplete.LEQIIntegrator.plot_pulse_schedule()\nopenmc.deplete.SICELIIntegrator.plot_pulse_schedule()\nopenmc.deplete.SILEQIIntegrator.plot_pulse_schedule()\n```\n\n![openmc pulse time plot](https://user-images.githubusercontent.com/8583900/188698064-9ffae002-844d-4cdf-aca2-b87d9a8f39b4.png)\n\n# Plotting activation or atoms as a function of time\n\nThe ```openmc.deplete.Results()``` class has been extended to include a ```plot_atoms_vs_time()``` method and a ```plot_activity_vs_time``` method.\n\nThese methods plot atoms or activity as a function of time.\nThese plots optionally include a breakdown of the dominant nuclides.\nMatplotlib or Plotly backends are available.\n\nAdditional methods provided\n\n```python\nopenmc.deplete.Results.plot_atoms_vs_time()\nopenmc.deplete.Results.plot_activity_vs_time()\n```\n\n![openmc matplotlib activity](https://user-images.githubusercontent.com/8583900/188697525-a156c538-1d67-4efe-b19d-f34850af8b1f.png)\n![openmc plotly activity](https://user-images.githubusercontent.com/8583900/188697666-13f4ed29-3293-44f7-99d2-7eabf48d54cb.png)\n\n# Plotting activation or atoms on an isotope chart\n\nThe ```openmc.Material()``` class has been extended to include a ```plot_isotope_chart_of_activity()``` method and  ```plot_isotope_chart_of_atoms()``` method.\n\nThis method plots the material atoms or the material activity on an isotope chart.\n\nI started making isotope plots back in 2010 so nice to finally distribute this :smile:\n\nAdditional methods provided\n\n```python\nopenmc.Material.plot_isotope_chart_of_atoms()\nopenmc.Material.plot_isotope_chart_of_activity()\n```\n![openmc plotly activity](https://user-images.githubusercontent.com/8583900/188697852-962e47d2-4f41-4449-abb1-7cc0b39996e0.png)\n",
    "bugtrack_url": null,
    "license": "MIT License  Copyright (c) 2022 Fusion Energy  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:  The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ",
    "summary": "Plot the isotopes present during depletion steps.",
    "version": "0.4.0",
    "project_urls": {
        "Bug Tracker": "https://github.com/fusion-energy/openmc_depletion_plotter/issues",
        "Homepage": "https://github.com/fusion-energy/openmc_depletion_plotter"
    },
    "split_keywords": [
        "dagmc",
        "geometry",
        "plot",
        "slice"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0056f6863bc22a4dc67bffdd801b4c4507ded057e1f5b8e94c7c8b1c853d2b56",
                "md5": "d4759734c204588e78cbd16749b93b47",
                "sha256": "29b80212f90a89043ed25e8f99b3c584825415d940f7ee4ff86d91532e88bf82"
            },
            "downloads": -1,
            "filename": "openmc_depletion_plotter-0.4.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "d4759734c204588e78cbd16749b93b47",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 16401,
            "upload_time": "2023-06-09T13:16:42",
            "upload_time_iso_8601": "2023-06-09T13:16:42.732460Z",
            "url": "https://files.pythonhosted.org/packages/00/56/f6863bc22a4dc67bffdd801b4c4507ded057e1f5b8e94c7c8b1c853d2b56/openmc_depletion_plotter-0.4.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "dbd4c09b6ed8b99930efd62a07a7655c660b7c687804e5ce0316e6817b991dc6",
                "md5": "59e599c6372bfd56218f7ddbfc6c9b92",
                "sha256": "081831bd22ecd1078f5f4d42457550086c6f37befc3b32db0504c6ae38590115"
            },
            "downloads": -1,
            "filename": "openmc_depletion_plotter-0.4.0.tar.gz",
            "has_sig": false,
            "md5_digest": "59e599c6372bfd56218f7ddbfc6c9b92",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 37080753,
            "upload_time": "2023-06-09T13:16:45",
            "upload_time_iso_8601": "2023-06-09T13:16:45.567161Z",
            "url": "https://files.pythonhosted.org/packages/db/d4/c09b6ed8b99930efd62a07a7655c660b7c687804e5ce0316e6817b991dc6/openmc_depletion_plotter-0.4.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-06-09 13:16:45",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "fusion-energy",
    "github_project": "openmc_depletion_plotter",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "openmc-depletion-plotter"
}
        
Elapsed time: 0.07676s