Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Version release 0.10.0 #202

Merged
merged 156 commits into from
Jun 11, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
156 commits
Select commit Hold shift + click to select a range
7a95ccb
Per-Particle RNG and Array Tallies
Aug 9, 2023
322ff18
Added Large Prime Coefficient to Initial Particle Seeds
Aug 10, 2023
2cc06b7
Fixed sizes of 1-element tally arrays
Aug 10, 2023
0c1c6c0
Fixed MPI talley transmission
Aug 10, 2023
ecd07d0
Local particle instance creator functions
Aug 10, 2023
afb9009
Commit for backup
braxtoncuneo Aug 10, 2023
3f7b75e
adapt.py and particle banking functions
braxtoncuneo Aug 11, 2023
00e4bb0
Mid-refactor Commit with Notes and Diagrams
braxtoncuneo Aug 13, 2023
c3aac1b
Updated call graph
braxtoncuneo Aug 19, 2023
01fe4e9
Merge branch 'local-rng' into harmonize-integration
braxtoncuneo Aug 26, 2023
26c4513
Commit for comparison
braxtoncuneo Aug 29, 2023
920ca9b
Commit for comparison
braxtoncuneo Aug 29, 2023
dcee388
Removed striding of seeds
braxtoncuneo Aug 29, 2023
f1f2069
Merge branch 'local-rng' into harmonize-integration
braxtoncuneo Aug 29, 2023
3008bac
Commit for checkout
braxtoncuneo Aug 30, 2023
02ae4c3
Added adapter logic
braxtoncuneo Aug 31, 2023
be8bcfd
Added more decorators, alignment logic, and refactored translations t…
braxtoncuneo Sep 1, 2023
871c368
Refactor Checkpoint
braxtoncuneo Sep 1, 2023
cfeb1fd
Signs of life
braxtoncuneo Sep 6, 2023
e6b0e0a
On-GPU processing partially working
braxtoncuneo Sep 6, 2023
4345c19
Added --target option and logic for more complex scheduling
braxtoncuneo Sep 7, 2023
864e1a7
Kernels are now relaunched if not all work is complete
braxtoncuneo Sep 7, 2023
a00ff82
Current domain decomp implementation
shac170 Sep 14, 2023
4a90f5d
added reeds test example
shac170 Sep 14, 2023
3092392
Reverting to current MCDC
shac170 Sep 14, 2023
6c1208e
Update loop.py
shac170 Sep 14, 2023
9bc6e5e
revert
shac170 Sep 14, 2023
c229a0d
domain decomp in current MCDC1
shac170 Sep 14, 2023
627eea5
Merge branch 'main' of https://github.com/shac170/MCDC
shac170 Sep 14, 2023
f02179e
Current implimentation
shac170 Sep 14, 2023
64816e0
tweaks to dd
shac170 Sep 14, 2023
b8ff213
switch to current regression tests
shac170 Sep 14, 2023
b38cb21
test stuff
shac170 Sep 14, 2023
ee6ce80
urrent domain decomp
shac170 Sep 19, 2023
ee2b86f
Added dd test
shac170 Sep 19, 2023
beb172c
removed print statements
shac170 Sep 19, 2023
6606600
update gitignore
Sep 20, 2023
fc72894
Corrected particle transfer for multiple processors
shac170 Sep 22, 2023
c6750c6
Correcting
shac170 Sep 22, 2023
006941e
Formatting
shac170 Sep 22, 2023
4d331bc
Removing csvs
shac170 Sep 22, 2023
ad9c83b
Added reproducibility
shac170 Sep 26, 2023
70683c3
Added domain_decomp examples
shac170 Sep 27, 2023
d0589b6
use print_error and back in black
Sep 28, 2023
fdebe8a
fix some dd numba issues: objmode and required dd parameters in type_.py
Sep 28, 2023
bfe0c9d
removed print statements, changed termination criteria
shac170 Oct 1, 2023
69c8b96
make dd work on Numba
Oct 3, 2023
8b60d13
fixed termination criteria
shac170 Oct 9, 2023
46a9e89
added test problems
shac170 Oct 9, 2023
b96da09
fixing unnecessary errors
shac170 Oct 10, 2023
29eb872
working update
Nov 9, 2023
44b64e9
Merge branch 'domain_decomposition' of https://github.com/shac170/MCD…
Nov 9, 2023
11a4f79
Merge branch 'main' of https://github.com/shac170/MCDC
shac170 Nov 9, 2023
16535ab
Merge branch 'domain_decomposition'
shac170 Nov 9, 2023
2f0d8b0
fixed bugs
shac170 Nov 9, 2023
bc62fba
style changes
shac170 Nov 9, 2023
1979d24
Delete examples/fixed_source/c5g7 directory
shac170 Nov 9, 2023
e127fe2
MESH_* flags and remove iQMC sweep counter
spasmann Dec 15, 2023
417068f
Merge branch 'main' into pr/129
spasmann Dec 15, 2023
f2bc87a
Two fixed source DD regression tests if mpiexec=4
spasmann Dec 15, 2023
aaaf602
regression/run.py bug fix
spasmann Dec 15, 2023
816e58d
Adding domain event to move_to_event function
shac170 Dec 20, 2023
52804a0
style changes
shac170 Dec 20, 2023
7bf584a
Remove duplicate MESH flags in constant.py
spasmann Dec 20, 2023
0672c30
Added point source support for non-repro dd
shac170 Dec 20, 2023
737f93b
Merge remote-tracking branch 'refs/remotes/origin/main'
shac170 Dec 20, 2023
7d84f17
style changes
shac170 Dec 20, 2023
7bed157
Fix ups for 2d problem and surface distance evaluation
shac170 Dec 20, 2023
a9ed5b5
fix for domain crossing event
shac170 Jan 22, 2024
c0671bc
Merge branch 'main' of https://github.com/shac170/MCDC
shac170 Jan 30, 2024
6ff0f7b
adding domain decomposition
shac170 Jan 30, 2024
7bfb0ca
style fixes
shac170 Jan 30, 2024
b01b4c4
fix dd_surface and style
shac170 Jan 30, 2024
9d99286
Domain event fix
shac170 Jan 30, 2024
508c9ca
Added progress bar for DD
Feb 9, 2024
9bdb636
Merge branch 'CEMeNT-PSAAP:main' into main
shac170 Feb 21, 2024
4fc5544
debug install.sh and expand python requirement
ilhamv Feb 21, 2024
3b4d6a3
revert back to previous python reqs
ilhamv Feb 21, 2024
591689e
Merge pull request #162 from ilhamv/main
ilhamv Feb 22, 2024
80bf7d7
Merge pull request #165 from clemekay/main
jpmorgan98 Feb 28, 2024
c1020c5
fixing dd
shac170 Mar 15, 2024
56da65a
style changes
shac170 Mar 15, 2024
947c5e1
comment out progress bar from loop_source_dd (for numba)
shac170 Mar 15, 2024
98e66f4
Style changes
shac170 Mar 15, 2024
86410bd
Improved termination criteria
shac170 Mar 16, 2024
542348d
naming changes for consistency
shac170 Mar 18, 2024
3fcdd69
Consolidated domain decomposition into one fixed source loop (and rem…
shac170 Mar 18, 2024
251e8c8
Commented out dd progress print for numba compatability and removed o…
shac170 Mar 18, 2024
87c7c0b
style fixes:
shac170 Mar 18, 2024
1bbb316
Merge pull request #169 from shac170/good_dd
ilhamv Mar 19, 2024
5312504
Buf fix: remove __pycache__ from names list in regresss tests if present
spasmann Mar 21, 2024
8df1e96
black reformat
spasmann Mar 21, 2024
95f20f1
updated black format
spasmann Mar 21, 2024
77fd2a0
Merge branch 'CEMeNT-PSAAP:main' into main
spasmann Mar 21, 2024
704a975
Merge pull request #172 from spasmann/main
jpmorgan98 Apr 2, 2024
71ab883
chaging docs to refelct joss paper
jpmorgan98 Apr 9, 2024
5b52c77
Merge branch 'CEMeNT-PSAAP:main' into main
jpmorgan98 Apr 9, 2024
fd33c47
chaning python version
jpmorgan98 Apr 9, 2024
b3d523e
oh good lord
jpmorgan98 Apr 9, 2024
9b0a6df
Merge pull request #185 from jpmorgan98/main
jpmorgan98 Apr 26, 2024
f951d6a
adding inputs for caching
jpmorgan98 Apr 5, 2024
8b8303d
adding manual verficiation test runner
jpmorgan98 Apr 26, 2024
d0bdd56
back in black
jpmorgan98 Apr 26, 2024
6a8f281
fixing caching syntax
jpmorgan98 Apr 26, 2024
c276422
Added documentation for dd and reorganized other docs
shac170 Apr 26, 2024
e839947
Most of the way through the refactor
braxtoncuneo Apr 26, 2024
a1e8066
adding a set of theroy pages (most empty) and a publications page
jpmorgan98 Apr 27, 2024
be3703f
adding a caching flag to input (adding documentation)
jpmorgan98 Apr 27, 2024
f3e41af
chaning manual verficaition runner
jpmorgan98 Apr 27, 2024
cbafdca
removing upper python verion due to numba support
jpmorgan98 Apr 27, 2024
e9cd821
editing python lower version
jpmorgan98 Apr 27, 2024
57acb73
Update pubs.rst
clemekay Apr 27, 2024
8a805cc
Merge pull request #187 from shac170/dev
jpmorgan98 Apr 27, 2024
cf1c54f
Merge branch 'CEMeNT-PSAAP:dev' into dev
jpmorgan98 Apr 27, 2024
02f9e8c
Various typo fixes
clemekay Apr 27, 2024
90ee962
Merge pull request #189 from jpmorgan98/dev
jpmorgan98 Apr 27, 2024
7aac0fc
Revamped domain decomposition
braxtoncuneo Apr 27, 2024
c03da25
Merge branch 'dd_revamped' into dev
braxtoncuneo Apr 27, 2024
7f9e58f
Removed miniconda install script
braxtoncuneo Apr 27, 2024
d7600fe
Attempting to fix merge problem
braxtoncuneo Apr 27, 2024
6ed8ea8
Async domain decomp (numba-mode compatible)
braxtoncuneo Apr 28, 2024
40bc464
Removed debug print statements
braxtoncuneo Apr 29, 2024
7d9d816
Back in black
braxtoncuneo Apr 29, 2024
8b8b18f
Fixed deprecation warning
braxtoncuneo Apr 30, 2024
b20af20
Fixed isend->send typo
braxtoncuneo Apr 30, 2024
c5073e9
Updated default exchange rate
braxtoncuneo Apr 30, 2024
ffb7b54
Updated domain decomposition documentation
braxtoncuneo Apr 30, 2024
4fd6241
Merge pull request #194 from braxtoncuneo/dev
braxtoncuneo May 1, 2024
dd939f6
Merged with dev. Regression tests in both in and out of numba mode
braxtoncuneo May 1, 2024
7e481c9
Merge branch 'CEMeNT-PSAAP:main' into main
spasmann May 2, 2024
793ac67
remove bilinear source tilting capabilities
spasmann May 2, 2024
899846d
remove Davidson solver capabilities
spasmann May 2, 2024
1f58f98
Checkpoint commit
braxtoncuneo May 3, 2024
b9f6e69
Kobayashi works on GPU
braxtoncuneo May 4, 2024
1f0864a
Cleaned up typing and initialization
braxtoncuneo May 5, 2024
da97944
Back in black
braxtoncuneo May 5, 2024
1ca494f
Fixed iqmc sub-struct
braxtoncuneo May 5, 2024
af852eb
Back in black
braxtoncuneo May 5, 2024
e4a28a2
Removed debug prints
braxtoncuneo May 5, 2024
3168693
slab_reed_dd appears to work now
braxtoncuneo May 6, 2024
7cf8c5c
Cleaned up mcdc directory
braxtoncuneo May 6, 2024
9d2a5f0
De-duplicated type constructors in type_.py
braxtoncuneo May 6, 2024
3aef2c0
Back in Black
braxtoncuneo May 6, 2024
a0070e5
Updated tests
braxtoncuneo May 6, 2024
6254fe2
Cleaned up
braxtoncuneo May 6, 2024
729b785
Fixed checks for GPU interop availability
braxtoncuneo May 6, 2024
9c76a18
Removed debug statement
braxtoncuneo May 6, 2024
ffb39a8
cosmetic edit on regression runner
ilhamv May 7, 2024
9a9c8b2
BACK IN BLACK!
ilhamv May 7, 2024
7ec41bf
Consistent use of str_ in type_.py
ilhamv May 7, 2024
55ad1a9
Merge pull request #195 from braxtoncuneo/dev
ilhamv May 8, 2024
0f45874
Merge remote-tracking branch 'upstream/dev'
spasmann May 24, 2024
c0fb904
Merge pull request #199 from spasmann/main
ilhamv May 28, 2024
afaf8fc
remove manual check in vade regression test
ilhamv May 28, 2024
20b70c1
Merge pull request #200 from ilhamv/debug
ilhamv May 28, 2024
68d150a
Merge branch 'main' into dev
jpmorgan98 Jun 11, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .github/workflows/draft-pdf.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
on: [push]
name: Build JOSS paper, only on dispatch
on: [workflow_dispatch]

jobs:
paper:
Expand Down
5 changes: 4 additions & 1 deletion .github/workflows/manual_publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,10 @@

# assumming this is being done in a repo with trusted publishing permissions in pypi

name: Manually upload Python Package (if auto upload fails)
# There is an automated runner which should upload a new PyPi package but it often fails due to API BS.
# This is here so one doesn't have to republish everything

name: manually publish pypi package (for touble shooting)

on: workflow_dispatch

Expand Down
35 changes: 35 additions & 0 deletions .github/workflows/verification_man_mpi_numba.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: Verification Tests (manual execution only)

on: workflow_dispatch

jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: ["ubuntu-latest"] #, "macos-latest"
steps:
- uses: actions/checkout@v3
- name: Set up python 3.11
uses: actions/setup-python@v3
with:
python-version: "3.11"
- name: debug
run: |
pwd
ls
- uses: mpi4py/setup-mpi@v1
- name: Install dependencies
run: |
#sudo apt-get install libopenmpi-dev
#pip install numpy numba h5py matplotlib scipy pytest colorama mpi4py ngsolve distinctipy
pip list
pip install -e .
- name: Patch Numba
run : |
bash .github/workflows/patch.sh
- name: Verification Tests - Numba and MPI
run: |
cd test/verification/analytic
python run.py --mode=numba --mpiexec=2
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@ __pycache__
*.nbc
*.nbi

# GPU cache
__ptxcache__

# Editor
.spyproject
*.swp
Expand Down Expand Up @@ -51,3 +54,4 @@ pytestdebug.log
docs/build
docs/source/pythonapi/generated/

*.csv
22 changes: 13 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
![mcdc_logo v1](https://user-images.githubusercontent.com/26186244/173467190-74d9b09a-ef7d-4f0e-8bdf-4a076de7c43c.svg)

[![Build](https://github.com/CEMeNT-PSAAP/MCDC/actions/workflows/mpi_numba_reg.yml/badge.svg)](https://github.com/CEMeNT-PSAAP/MCDC/actions/workflows/mpi_numba_reg.yml)
[![DOI](https://joss.theoj.org/papers/10.21105/joss.06415/status.svg)](https://doi.org/10.21105/joss.06415)
[![ReadTheDocs](https://readthedocs.org/projects/mcdc/badge/?version=latest&style=flat)](https://mcdc.readthedocs.org/en/latest/ )
[![License](https://img.shields.io/badge/License-BSD_3--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)

Expand Down Expand Up @@ -108,18 +109,21 @@ You can find specifics on how to run these tests locally [here](https://github.c

To provide proper attribution to MC/DC, please cite
```
@inproceedings{var_mc23_mcdc,
Booktitle = {International Conference on Mathematics and Computational Methods Applied to Nuclear Science and Engineering},
title = {Development of {MC/DC}: a performant, scalable, and portable Python-based {M}onte {C}arlo neutron transport code},
year = {2023},
author = {Ilham Variansyah and Joanna Piper Morgan and Kyle E. Niemeyer and Ryan G. McClarren},
address = {Niagara Falls, Ontario, Canada},
doi={10.48550/arXiv.2305.07636},
}
@article{morgan2024mcdc,
title = {Monte {Carlo} / {Dynamic} {Code} ({MC}/{DC}): {An} accelerated {Python} package for fully transient neutron transport and rapid methods development},
author = {Morgan, Joanna Piper and Variansyah, Ilham and Pasmann, Samuel L. and Clements, Kayla B. and Cuneo, Braxton and Mote, Alexander and Goodman, Charles and Shaw, Caleb and Northrop, Jordan and Pankaj, Rohan and Lame, Ethan and Whewell, Benjamin and McClarren, Ryan G. and Palmer, Todd S. and Chen, Lizhong and Anistratov, Dmitriy Y. and Kelley, C. T. and Palmer, Camille J. and Niemeyer, Kyle E.},
journal = {Journal of Open Source Software},
volume = {9},
number = {96},
year = {2024},
pages = {6415},
url = {https://joss.theoj.org/papers/10.21105/joss.06415},
doi = {10.21105/joss.06415},
}
```
which should render something like this

Variansyah, Ilham, J. P. Morgan, K. E. Niemeyer, and R. G. McClarren. 2023. “Development of MC/DC: a performant, scalable, and portable Python-based Monte Carlo neutron transport code.” In *International Conference on Mathematics and Computational Methods Applied to Nuclear Science and Engineering*, Niagara Falls, Ontario, Canada. DOI. [10.48550/arXiv.2305.07636](https://doi.org/10.48550/arXiv.2305.07636)
Morgan et al. (2024). Monte Carlo / Dynamic Code (MC/DC): An accelerated Python package for fully transient neutron transport and rapid methods development. Journal of Open Source Software, 9(96), 6415. https://doi.org/10.21105/joss.06415.

## License

Expand Down
26 changes: 24 additions & 2 deletions docs/source/contribution.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,15 @@ Whether you are here to make a single PR and never return, or want to become a m
We have regular developers meetings for any and all who are interested to discuss contributions to this code base.

This describes the processes of contributing to MC/DC for both internal (CEMeNT) and external developers.
We make contributions to the ``dev`` branch of MC/DC.
To get started making alterations in a cloned repo

#. fork ``CEMeNT-PSAAP/MCDC`` to your github account
#. ``git clone git@github.com:<YOUR_GITHUB>/MCDC.git``
#. ``git switch dev``
#. run install script which will install MC/DC as an editable package from this directory

Push some particles around!!!!

Please note our `code of conduct <https://github.com/CEMeNT-PSAAP/MCDC/blob/main/CODE_OF_CONDUCT.md>`_ which we take seriously

Expand Down Expand Up @@ -88,6 +97,17 @@ Alteratively a developer could delete the ``__pycache__`` directory or other cac
At some point MC/DC will enable `Numba's Ahead of Time compilation abilities <https://numba.readthedocs.io/en/stable/user/pycc.html>`_. But the core development team is holding off until scheduled `upgrades to AOT functionality in Numba are implemented <https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-numba-pycc>`_.
However if absolutely required by users numba does allow for some `cache sharing <https://numba.readthedocs.io/en/stable/developer/caching.html>`_.

------------------
Adding a New Input
------------------

To add a new keyword argument such that a user can interface with it in an input deck
there are a few different places a dev will need to make alterations

#. ``card.py`` (where the input cards are actually defined)
#. ``type.py`` (where the type information of the inputs are strictly added)
#. ``input_.py`` (where user inputs are merged with the specifications in ``card.py`` and ``type.py``)

-------
Testing
-------
Expand All @@ -103,7 +123,7 @@ Our github based CI runs for,
* linux-64 (x86)
* osx-64 (x86, intel based macs)

while we do not have continuos integration we have validated MC/DC on other systems.
while we do not have continuous integration we have validated MC/DC on other systems.

To run the regression tests locally, navigate to ``\MCDC\tests\regression`` and run,

Expand Down Expand Up @@ -141,7 +161,7 @@ Adding Documentation


It's not everything it needs to be but we are trying!
If your contribution changes the behavior of the input deck, instillation process, or testing infrastructure your contribution must include alteration to this documentaiton.
If your contribution changes the behavior of the input deck, instillation process, or testing infrastructure your contribution must include alteration to this documentation.
That can be done by editing the RST files in ``/MCDC/docs/source/<FILENAME>.rst``.

To add a new page to the documentation,
Expand All @@ -164,6 +184,8 @@ Pull Requests

MC/DC works off of a fork workflow in which contributors fork our repo, make alterations, and submit a pull requests.
You should only submit a pull request once your code passes all tests, is properly linted, you have edited documentation (if necessary), and added any new tests (if needed).
Open a PR to the ``dev`` branch in Github.
MC/DC's main branch is only updated for version releases at which time a PR from dev to main is opened, tagged, archived, and published automatically.

Within your pull request documentation please list:

Expand Down
35 changes: 27 additions & 8 deletions docs/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,9 @@ A full exhaustive list of publications can be found on the `CEMeNT site <https:/
install
user
contribution
theory/index
pythonapi/index
pubs

.. sidebar-links::
:caption: Links
Expand Down Expand Up @@ -112,15 +114,32 @@ To build the docs
To Cite MC/DC
=============

If you use or devlope in MC/DC and would like to publish your results
If you use MC/DC and would like to provide proper attribution
please cite our article in the Journal of Open Source software

.. code-block::

.. code-block:: bibtex
@article{morgan2024mcdc,
booktitle = {}
title = {},
author = {},
date = {},
doi = {},
title = {Monte {Carlo} / {Dynamic} {Code} ({MC}/{DC}): {An} accelerated
{Python} package for fully transient neutron transport and
rapid methods development},
author = {Morgan, Joanna Piper and Variansyah, Ilham and Pasmann, Samuel L. and
Clements, Kayla B. and Cuneo, Braxton and Mote, Alexander and
Goodman, Charles and Shaw, Caleb and Northrop, Jordan and Pankaj, Rohan and
Lame, Ethan and Whewell, Benjamin and McClarren, Ryan G. and Palmer, Todd S.
and Chen, Lizhong and Anistratov, Dmitriy Y. and Kelley, C. T. and
Palmer, Camille J. and Niemeyer, Kyle E.},
journal = {Journal of Open Source Software},
volume = {9},
number = {96},
year = {2024},
pages = {6415},
url = {https://joss.theoj.org/papers/10.21105/joss.06415},
doi = {10.21105/joss.06415},
}

If you are developing or working with specific numerical methods please take greater care
to cite the specific publications where that work is presented.
An exhaustive list can be found on our :ref:`pubs` page.
Also check out and even longer list of associated publications on our
`center's publications page <https://cement-psaap.github.io/publications/>`_
149 changes: 149 additions & 0 deletions docs/source/pubs.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,149 @@
.. _pubs:

=============
Publications
=============

This page contains various formal publications describing the features and algorithms of MC/DC.
If you are writing a research paper please provide proper attribution to those whose work you are using in MC/DC.
Generally, the citation on the home page is a good place to start.

General MC/DC Papers
---------------------

I. Variansyah, J. P. Morgan, J. Northrop K. E. Niemeyer, and
R. G. McClarren. “Development of MC/DC: a performant, scalable,
and portable Python-based Monte Carlo neutron transport code.”
In International Conference on Mathematics and Computational
Methods Applied to Nuclear Science and Engineering. Niagara Falls,
Ontario, Canada (2023). Preprint DOI 10.48550/arXiv.2305.13555.

I. Variansyah and R. G. McClarren. “High-fidelity treatment for object
movement in time-dependent Monte Carlo transport simulations.”
In International Conference on Mathematics and Computational
Methods Applied to Nuclear Science and Engineering. Niagara Falls,
Ontario, Canada (2023). Preprint DOI 10.48550/arXiv.2305.07641.


Population Control Publications
--------------------------------

I. Variansyah and R. G. McClarren. “An effective initial particle
sampling technique for Monte Carlo reactor transient simulations.”
In International Conference on Mathematics and Computational Methods
Applied to Nuclear Science and Engineering. Niagara Falls, Ontario,
Canada (2023). Preprint DOI 10.48550/arXiv.2305.07646.

I. Variansyah and R. G. McClarren. “An effective initial particle sampling
technique for Monte Carlo reactor transient simulations.” In International
Conference on Physics of Reactors. Pittsburgh, Pennsylvania, USA (2022).

I. Variansyah and R. G. McClarren. “Performance of Population Control
Techniques in Monte Carlo Reactor Criticality Simulation.” In International
Conference on Physics of Reactors. Pittsburgh, Pennsylvania, USA (2022).

Software Engineering in MC/DC Publications
-------------------------------------------

J. P. Morgan, I. Variansyah, S. Pasmann, K. B. Clements, B. Cuneo, A. Mote,
C. Goodman, C. Shaw, J. Northrop, R. Pankaj, E. Lame, B. Whewell,
R. McClarren, T. S. Palmer, L. Chen, D. Anistratov, C. T. Kelley,
C. Palmer, and K. E. Niemeyer. Monte Carlo / Dynamic Code (MC/DC):
An accelerated Python package for fully transient neutron transport
and rapid methods development. Accepted Journal of Open Source Software.
9(96), 6415. DOI 10.21105/joss.06415.

B. Cuneo and Mike Bailey. 2023. Divergence Reduction in Monte Carlo
Neutron Transport with On-GPU Asynchronous Scheduling. ACM Trans.
Model. Comput. Simul. (October 2023). DOI 10.1145/3626957.

J. P. Morgan, T. S. Palmer, and K. E. Niemeyer. “Automatic Hardware Code Generation
for Neutron Transport Applications.” In Transactions of the American Nuclear Society,
volume 126, p. 318–320. American Nuclear Society, Anaheim, CA (2022)
Preprint DOI: 10.5281/zenodo.6646813 DOI: 10.13182/T126-38137.

UQ Publications
---------------

K. B. Clements, G. Geraci, A. J. Olson, and T. S. Palmer.
A variance deconvolution estimator for efficient uncertainty
quantification in Monte Carlo radiation transport applications.
Accepted Journal of Quantitative Spectroscopy and Radiative Transfer.
(2024). DOI 10.1016/j.jqsrt.2024.108958.

K. B. Clements, G. Geraci, A. J. Olson, and T. S. Palmer.
“Global Sensitivity Analysis in Monte Carlo Radiation Transport.”
In International Conference on Mathematics and Computational Methods
Applied to Nuclear Science and Engineering. Niagara Falls, Ontario, Canada (2023)

K. B. Clements, G. Geraci, and A. J. Olson, A Variance Deconvolution Approach
to Sampling Uncertainty Quantification for Monte Carlo Radiation Transport
Solvers, in Computer Science Research Institute Summer Proceedings 2021,
J.D. Smith and E. Galvan, eds., Technical Report SAND2022-0653R,
Sandia National Laboratories, 2021, pp. 293–307. DOI: 10.2172/1855061.

Hybrid Monte Carlo Publications
-------------------------------

B. Whewell, R. G. McClarren, C. D. Hauck & M. Shin “Multigroup Neutron Transport
Using a Collision-Based Hybrid Method”, Nuclear Science and Engineering,
197:7, 1386-1405, (2023) DOI: 10.1080/00295639.2022.2154119.

E. Smith, I. Variansyah, and R. G. McClarren.
“Variable Dynamic Mode Decomposition for Estimating Time Eigenvalues
in Nuclear Systems.” Nuclear Science and Engineering (2022).
DOI 10.1080/00295639.2022.2142025, Preprint.

V. Novellino and D. Anistratov, Analysis of Hybrid MC/Deterministic Methods
for Transport Problems Based on Low-Order Equations Discretized by
Finite Volume Scheme. Transaction of American Nuclear Society,
v. 130, 2024 Preprint DOI: 10.48550/arXiv:2403.05673

E. Smith, I. Variansyah, and R. G. McClarren. “Compressed Dynamic Mode Decomposition
for Time-Eigenvalue Calculations.” In International Conference on Mathematics
and Computational Methods Applied to Nuclear Science and Engineering.
Niagara Falls, Ontario, Canada (2023). Preprint DOI 10.48550/arXiv.2208.10942.

iQMC Publications
-----------------

S. Pasmann, I. Variansyah, C. T. Kelley, and R. G. McClarren. (2024).
Mitigating Spatial Error in the iterative-Quasi-Monte Carlo (iQMC) Method
for Neutron Transport Simulations with Linear Discontinuous Source Tilting
and Effective Scattering and Fission Rate Tallies. Accepted Nuclear Science
and Engineering. Preprint DOI 10.48550/arXiv.2401.04029

S. Pasmann, I. Variansyah, C. T. Kelley, and R. G. McClarren.
“A Quasi-Monte Carlo Method with Krylov Linear Solvers for Multigroup
Neutron Transport Simulations.” Nuclear Science and Engineering (
Jan 2023). DOI 10.1080/00295639.2022.2143704.

S. Pasmann, I. Variansyah, C. T. Kelley, and R. G. McClarren.
“iQMC: Iterative Quasi-Monte Carlo with Krylov Linear Solvers
for k-Eigenvalue Neutron Transport Simulations.” In International
Conference on Mathematics and Computational Methods Applied to
Nuclear Science and Engineering. Niagara Falls, Ontario, Canada
(2023). Preprint DOI: 0.48550/arXiv.2306.11600.

S. Pasmann, I. Variansyah, and R. G. McClarren.
“Convergent Transport Source Iteration Calculations
with Quasi-Monte Carlo.” In Transactions of the American Nuclear Society,
volume 124, pp. 192–195. American Nuclear Society (2021).

Validation and Verification Publications
----------------------------------------

C. J. Palmer, J. Northrop, T. S. Palmer, A. J. Reynolds.
Validation of Time-dependent Shift using the Pulsed Sphere
Benchmarks. Frontiers in Nuclear Engineering,
Sec. Fission and Reactor Design. Vol 2. (2023). DOI: 10.3389/fnuen.2023.1294583.

J. Northrop, C. Palmer, and A. J. Reynolds. “Inter-code Comparison of Time Independent
Pulsed Sphere Benchmark Results.” In Transactions of the American Nuclear Society,
volume 126. p. 334-337 American Nuclear Society, Anaheim, CA (2022).
Preprint DOI: 10.5281/zenodo.7250603 DOI 10.13182/T126-38312.

A. J. Reynolds, & T. S. Palmer. Verification and Scaling of Time-Dependent
Shift Using the AZURV1 Benchmark. In Transactions of the
American Nuclear Society, volume 126. p. 310-313. Anaheim,
California, United States (2020) Preprint DOI 10.5281/zenodo.7222601 DOI 10.13182/T126-38060.
Loading
Loading