Skip to content

Commit

Permalink
Merge pull request #197 from yardasol/remove-pyne
Browse files Browse the repository at this point in the history
Remove pyne
  • Loading branch information
LukeSeifert authored Sep 20, 2023
2 parents 7a14dd9 + cddec52 commit 48c06cf
Show file tree
Hide file tree
Showing 82 changed files with 4,430 additions and 3,821 deletions.
3 changes: 3 additions & 0 deletions .github/workflows/cache-dependencies.yml
Original file line number Diff line number Diff line change
Expand Up @@ -144,5 +144,8 @@ jobs:
pip install .
cd ../
- name: Install SaltProc
run: pip install .

- name: Check packages
run: conda list
5 changes: 4 additions & 1 deletion .github/workflows/deploy-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
shell: bash -l {0}

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
fetch-depth: 0

Expand Down Expand Up @@ -56,6 +56,9 @@ jobs:
run: mamba env update -n saltproc-doc-env -f doc/doc-environment.yml
if: steps.dependencies-cache.outputs.cache-hit != 'true'

- name: Install SaltProc
run: pip install .

- name: Check packages
run: conda list

Expand Down
1 change: 1 addition & 0 deletions .github/workflows/test-saltproc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ jobs:
with:
miniforge-variant: Mambaforge # mamba is faster than base conda
miniforge-version: latest
channels: conda-forge
activate-environment: saltproc-env
use-mamba: true
use-only-tar-bz2: true
Expand Down
5 changes: 4 additions & 1 deletion doc/devguide/style.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,7 @@
Style Guide
===========

Coming soon!
Style for Python code must follow PEP8_.

.. _PEP8: https://www.python.org/dev/peps/pep-0008/

14 changes: 13 additions & 1 deletion doc/devguide/tests.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,16 @@
Test Suite
==========

Coming soon!
The SaltProc test suite uses the JEFF 3.1.2 library for Serpent2 integration
tests, and the ENDF/B VII.1 library for OpenMC integration tests. You can
obtain the JEFF 3.1.2 library by running the `process_j312.bash` script
under `scripts/xsdata`, and you can obtain the ENDF/B VII.1 library
for OpenMC from `this`_ link, which you can also find on
`openmc.org <openmc.org/official-data-libraries/>`_. The test suite
requires the `pytest`_ package.

.. _this: https://anl.box.com/shared/static/9igk353zpy8fn9ttvtrqgzvw1vtejoz6.xz
.. _pytest: https://docs.pytest.org

Whenever a new feature or function is added, a test should also be added
for that feature.
14 changes: 7 additions & 7 deletions doc/doc-environment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,16 @@ channels:
- conda-forge
- defaults
dependencies:
- pyne>=0.5.11=nomoab_noopenmc*
- numpy
- openmc
- numpy>=1.14.0
- pytables
- networkx
- pydotplus
- pydot
- jsonschema
- sphinx
- sphinx_rtd_theme
- jsonschema
- pip:
- sphinx-multiversion
- sphinxcontrib-apidoc
- sphinx-jsonschema
- serpentTools
- sphinx-multiversion
- sphinxcontrib-apidoc
- sphinx-jsonschema
4 changes: 2 additions & 2 deletions doc/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@ calculations. It couples directly with depletion-capable transport solvers to en
calculations.

**SaltProc** welcomes your contributions. It already relies on many libraries
in the Scientific Python ecosystem including `pyne`_, `numpy`_, `matplotlib`_,
in the Scientific Python ecosystem including `openmc`_, `numpy`_, `matplotlib`_,
`networkx`_, and `pydot`_.

.. _pyne: http://pyne.io/
.. _openmc: http://openmc.org/
.. _numpy: http://numpy.org
.. _matplotlib: http://matplotlib.org
.. _networkx: http://networkx.github.io
Expand Down
40 changes: 15 additions & 25 deletions doc/installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,24 +3,24 @@ Installation

SaltProc has the following dependencies:

#. `Python`_ (>=3.5)
#. `Serpent`_ (>=2.1.31)
#. `PyNE`_ (>=0.5.11)
#. `OpenMC`_ (>=0.13.0)
#. `NumPy`_ (>=1.14.0)
#. `python`_ (>=3.5)
#. `serpent`_ (>=2.1.31)
#. `serpentTools`_
#. `openmc`_ (>=0.13.0)
#. `numpy`_ (>=1.14.0)
#. `PyTables`_
#. `NetworkX`_
#. `PyDotPlus`_
#. `networkx`_
#. `pydot`_
#. `jsonschema`_

.. _Serpent: http://montecarlo.vtt.fi
.. _PyNE: http://pyne.io
.. _OpenMC: https://openmc.org/
.. _Python: http://python.org
.. _NumPy: http://numpy.org
.. _serpent: http://montecarlo.vtt.fi
.. _serpentTools: https://serpent-tools.readthedocs.io/en/master/index.html
.. _openmc: https://openmc.org/
.. _python: http://python.org
.. _numpy: http://numpy.org
.. _PyTables: http://pytables.org
.. _NetworkX: http://networkx.github.io
.. _PyDotPlus: https://pydotplus.readthedocs.io/
.. _networkx: http://networkx.github.io
.. _pydot: https://github.com/pydot/pydot
.. _pytest: https://docs.pytest.org
.. _pytest documentation: https://docs.pytest.org/en/latest/how-to/usage.html
.. _sphinx: https://www.sphinx-doc.org
Expand All @@ -36,7 +36,6 @@ Optional Dependencies:
#. `pytest`_ (for testing)
#. `sphinx`_ and `sphinx-rtd-theme`_ (for building documentation)
#. `matplotlib`_
#. `ViTables`_



Expand All @@ -46,18 +45,9 @@ Clone the source from the SaltProc repository from `GitHub`_.
git clone [email protected]:arfc/saltproc.git
Note on installing OpenMC
-------------------------
The ``conda-forge`` build of OpenMC 0.13.0 cannot be installed alongside the ``conda-forge`` build of PyNE due to a conflict in the pinned HDF5 versions required by those builds. Since both are dependencies, users will need to pick one to install from source. We recommend users install OpenMC from source as it has a more active community and a step-by-step guide on how to install it from source on most machines. For Ubuntu users, consider using the `ubuntu-nuclear-software-installer`_
script to install OpenMC from source.

.. _ubuntu-nuclear-software-installer: https://github.com/yardasol/ubuntu-nuclear-software-installer

Otherwise, all of the dependencies are readily available through the `conda package manager`_.

.. note:: We recommend using the `mamba`_ CLI tool to install packages quickly. SaltProc has a compltex package dependency structure which can result is long environment solve times in the default ``conda`` solver. ``mamba`` is a reimplementation of ``conda`` in ``C++`` and we have found it is significantly faster.

You can download the required ones using ``conda`` on the provided ``environment.yml``
You can download the required packages using ``conda`` on the provided ``environment.yml``
file in the repository:

.. code-block:: bash
Expand Down
17 changes: 0 additions & 17 deletions doc/io_formats/depcode_input.rst
Original file line number Diff line number Diff line change
Expand Up @@ -366,23 +366,6 @@ OpenMC-specific properties
``null``


``dilute_initial``
~~~~~~~~~~~~~~~~~~

:description:
Initial atom density to add for nuclides that are zero in initial
condition.

:type:
``number``

:minimum:
0

:default:
1000


``fission_yield_mode``
~~~~~~~~~~~~~~~~~~~~~~

Expand Down
33 changes: 33 additions & 0 deletions doc/io_formats/saltproc_input.rst
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,39 @@ Required properties are as follows: ``proc_input_file``, ``dot_input_file``, ``o
``null``


.. _rebuild_saltproc_results_property:

``rebuild_saltproc_results``
---------------------

:description:
Flag to reconstruct the ``saltproc_results.h5`` files from the stepwise
depletion simulation results.


:type:
``boolean``

:default:
``false``


.. _run_without_reprocessing_property:

``run_without_reprocessing``
---------------------

:description:
Flag to run SaltProc with no material reprocessing.


:type:
``boolean``

:default:
``false``


.. _depcode_property:

``depcode``
Expand Down
2 changes: 1 addition & 1 deletion doc/overview.rst
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ Molten Salt Reactors. It performs following major functions:
The code logic flow is the following:

1. Runs the transport-depletion code (:meth:`saltproc.depcode.Depcode.run_depcode()`)
2. Parses through the output `*_dep.m` file and creates PyNE Material object
2. Parses through the output `*_dep.m` file and creates Materialflow object
for each burnable material.
3. Processes Fuel (:meth:`saltproc.app.reprocess_materials()` and :meth:`saltproc.app.refill_materials()`):

Expand Down
22 changes: 17 additions & 5 deletions doc/releasenotes/v0.5.0.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ Release notes for v0.5.0

.. _openmc: https://github.com/openmc-dev/openmc
.. _serpentTools: https://github.com/CORE-GATECH-GROUP/serpent-tools
.. _pytables: https://github.com/PyTables/PyTables
.. _@yardasol: https://github.com/yardasol


Expand All @@ -39,15 +41,15 @@ Dependency Changes
Describe any new/removed/modified package dependencies

- ``SaltProc`` now optionally requires the following package:
- ``SaltProc`` now requires the following package:

- (new) → `openmc`_
- (new) → `serpentTools`_
- (formality) → `pytables`_

- ``pyne>=0.5.11`` → ``pyne>=0.5.11=nomoab_noopenmc*``
- ``pyne>=0.5.11`` → (removed)

- ``pydotplus`` → (removed)

- (new) → ``pydot``
- ``pydotplus`` → ``pydot``



Expand Down Expand Up @@ -210,6 +212,10 @@ Python API Changes
- (new) → ``timestep_units``
- (new) → ``timestep_type``

- (new) → ``Results``

- New class for reading the `saltproc_results.h5` file

- ``Simulation``

- ``core_number`` → (removed)
Expand Down Expand Up @@ -250,4 +256,10 @@ The following people reviewed code for this release of SaltProc:
..
`@gh_username <https://github.com/gh_uname>`_
- `@smpark7 <https://github.com/smpark7>`_
- `@LukeSeifert <https://github.com/LukeSeifert>`_
- `@munkm <https://github.com/munkm>`_
- `@abachma2 <https://github.com/abachma2>`_



4 changes: 2 additions & 2 deletions environment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@ channels:
- conda-forge
- defaults
dependencies:
- pyne>=0.5.11=nomoab_noopenmc*
- numpy>=1.14.0
- numpy
- pytables
- networkx
- pydot
- pytest
- jsonschema
- pip:
- serpentTools
- argparse==1.4.0
Loading

0 comments on commit 48c06cf

Please sign in to comment.