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

Set up new website built on MooseDocs system #199

Merged
merged 37 commits into from
May 30, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
390ed38
Add more webpages to navigation bar
smpark7 Mar 31, 2022
c3e976d
Fill up homepage
smpark7 Mar 31, 2022
c7d75cb
Add UIUC and ARFC logos
smpark7 Mar 31, 2022
1d37f30
Change to UIUC color scheme
smpark7 Mar 31, 2022
84e2241
Add installation instructions and tutorials page
smpark7 Mar 31, 2022
46c0408
delete old getting started page and add TODO to tutorial page
smpark7 Mar 31, 2022
3d0efce
Add autogenerated webpage stubs
smpark7 Apr 26, 2022
1d5095d
Change doxygen file destination to doc/content/doxygen
smpark7 Apr 26, 2022
485358f
Update gh-pages action to publish moosedocs doc
smpark7 Apr 29, 2022
5af4da5
Use conda in gh-pages action
smpark7 Apr 29, 2022
10dc901
Use conda in gh-pages action
smpark7 Apr 29, 2022
1b2c476
Use conda in gh-pages action
smpark7 Apr 30, 2022
937bdc7
Compile Moltres for Moosedocs gh-pages action
smpark7 Apr 30, 2022
430b8bf
Set up html build for gh-pages
smpark7 Apr 30, 2022
1af9632
Add conda deactivate and activate commands
smpark7 May 2, 2022
c1570b5
Build Moltres on GH action runner
smpark7 May 2, 2022
a907920
mamba install older moose envs
smpark7 May 2, 2022
914242e
remove python version requirement
smpark7 May 2, 2022
76c342a
Update readme for MooseDocs website
smpark7 May 2, 2022
39a52bf
Replace Bounds/UserObjects with AuxKernels/Postprocessors
smpark7 May 3, 2022
180d5d5
Replace installation URL from smpark7 to arfc website
smpark7 May 3, 2022
1151ba1
Update inline comments for new directories
smpark7 May 3, 2022
c67ceb3
Use the syntax page instead of the source documentation page
smpark7 May 3, 2022
faa2536
Update inline comments in workflow again for clarity
smpark7 May 3, 2022
7200c94
Merge branch 'moosedocs-setup' of github.com:smpark7/moltres into moo…
smpark7 May 3, 2022
716c1dc
Add contributing and publications pages
smpark7 May 4, 2022
5e1b0cc
Reorder publications by date
smpark7 May 10, 2022
065651c
Recommend git merge instead of rebase, and to commit often
smpark7 May 10, 2022
9826adb
Update doc/content/development/contributing.md
smpark7 May 20, 2022
6f1a5d1
Update doc/content/development/contributing.md
smpark7 May 20, 2022
c5eca03
Update doc/content/publications.md
smpark7 May 20, 2022
5ad5dcf
Replace http with https links
smpark7 May 20, 2022
061776d
Move Work in a Fork section text to Fork Moltres subsection
smpark7 May 20, 2022
ceb65ca
Merge branch 'moosedocs-setup' of github.com:smpark7/moltres into moo…
smpark7 May 20, 2022
9a7c2b8
Fix mistake on installing debug version of Moltres
smpark7 May 21, 2022
9f3c6d8
Recommend merging upstream changes into devel branch first for good b…
smpark7 May 30, 2022
2dfe790
Add reminder to recompile upon source code changes and to post instal…
smpark7 May 30, 2022
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
31 changes: 26 additions & 5 deletions .github/workflows/auto-update-gh-pages.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# This GitHub Action automatically updates built Doxygen files for Moltres' documentation
# on `https://arfc.github.io/moltres/` every time a new pull request is merged into devel.

name: Doxygen & Github Pages Action
name: Doxygen & MooseDocs & Github Pages Action

# Activate on pushes and pull requests into devel
on:
Expand All @@ -16,17 +16,38 @@ jobs:

steps:
- uses: actions/checkout@v2

# Generate Doxygen output files in ./docs directory using Doxyfile in base directory

# Generate Doxygen html files in ./doc/content/doxygen directory using Doxyfile in
# base directory
- name: Doxygen Action
uses: mattnotmitt/doxygen-action@v1
with:
working-directory: .

# Merge Doxygen output files in ./docs into gh-pages branch base directory
# Install MOOSE Conda environment & build combined MooseDocs/Doxygen html files into
# ./doc/html
- uses: conda-incubator/setup-miniconda@v2
with:
mamba-version: "*"
channels: conda-forge,https://conda.software.inl.gov/public
activate-environment: moose-env
- shell: bash -l {0}
run: |
conda deactivate
conda activate moose-env
mamba install moose-tools=2021.07.14 moose-libmesh=2021.07.14
conda deactivate
conda activate moose-env
git submodule init && git submodule update
make -j 2
cd doc
./moosedocs.py build --destination html

# Merge MooseDocs and Doxygen html files in ./doc/html into gh-pages branch base directory
- name: GitHub Pages action
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./docs
publish_dir: ./doc/html
smpark7 marked this conversation as resolved.
Show resolved Hide resolved
commit_message: ${{ github.event.head_commit.message }}

2 changes: 1 addition & 1 deletion Doxyfile
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ PROJECT_LOGO =
# entered, it will be relative to the location where doxygen was started. If
# left blank the current directory will be used.

OUTPUT_DIRECTORY = docs
OUTPUT_DIRECTORY = doc/content/doxygen

# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub-
# directories (in 2 levels) under the output directory of each output format and
Expand Down
47 changes: 11 additions & 36 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,18 @@
Moltres
=====

Moltres is a MOOSE-application code designed for simulation of molten salt
reactors.
Moltres is an open-source MOOSE-application code designed for simulation of molten salt
reactors and other advanced reactors.

## Use
## Documentation

Moltres documentation can be found
[here](http://arfc.github.io/software/moltres). Doxygen pages are
[here](https://arfc.github.io/moltres/classes.html). Outlines of the kernels and boundary
Moltres documentation can be found at
[https://arfc.github.io/software/moltres](https://arfc.github.io/software/moltres).
Outlines of the kernels and boundary
conditions used to construct the Moltres governing equations can be found on the
[Moltres wiki](http://arfc.github.io/software/moltres/wiki/). Breakdown of a
[Moltres wiki](https://arfc.github.io/software/moltres/wiki/). Breakdown of a
full-fledged Moltres input file can be found
[here](http://arfc.github.io/software/moltres/wiki/input_example/). New Moltres
[here](https://arfc.github.io/software/moltres/wiki/input_example/). New Moltres
users who have never used MOOSE before are encouraged to check-out the MOOSE
[website](https://mooseframework.inl.gov/) and
workshop [slides](https://mooseframework.inl.gov/workshop/index.html#/) for
Expand All @@ -24,32 +24,8 @@ underlying Moltres components.

## Install

Moltres relies on the MOOSE framework. We suggest that users install the MOOSE
environment using Conda Packages by following the instructions in the `Install
MOOSE Conda Packages` section of
https://mooseframework.inl.gov/getting_started/installation/conda.html.
The Moltres repository contains MOOSE and Squirrel as Git
submodules, therefore there is no need to clone MOOSE into a separate directory.
Instead, users can install Moltres by running the following commands in a shell
after changing into the directory which will hold the Moltres directory (perhaps `~/projects`):

```bash
git clone https://github.com/arfc/moltres
cd moltres
git submodule init
git submodule update
make -j8
```

You may also compile a debug version of Moltres by replacing the last line in
the code block above with `METHOD=dbg make
-j8`. Note that you should replace `8` with the number of processors available
on your machine.

## Testing

To ensure that Moltres is functioning properly, run `./run_tests -j8` from the
root of the Moltres directory.
Installation instructions can be found at
[https://arfc.github.io/moltres/getting_started/installation.html](https://arfc.github.io/moltres/getting_started/installation.html)

## Development

Expand All @@ -65,5 +41,4 @@ A full list of contributing guidelines can be found

## Contact

Please post to our discussion list at
moltres-users@googlegroups.com.
Please post to our GitHub Discussions tab.
34 changes: 24 additions & 10 deletions doc/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,11 @@ Content:
root_dir: ${ROOT_DIR}/doc/content
moose:
root_dir: ${MOOSE_DIR}/framework/doc/content
content:
- js/*
- css/*
- contrib/**
- media/**
- templates/stubs/*

Renderer:
type: MooseDocs.base.MaterializeRenderer
extra-css:
- css/moltres.css

Extensions:
MooseDocs.extensions.template:
Expand All @@ -20,12 +16,30 @@ Extensions:
name: Moltres
repo: https://github.com/arfc/moltres
menu:
Getting Started: getting_started.md
Documentation: source/index.md
Help: help.md
Getting Started:
Install Moltres: getting_started/installation.md
Tutorials: getting_started/tutorials.md
Documentation:
Moltres Syntax: syntax/index.md
MOOSE Syntax: https://mooseframework.inl.gov/source/index.html
Moltres Doxygen: doxygen/classes.html
MOOSE Doxygen: https://mooseframework.inl.gov/docs/doxygen/moose/classes.html
Contributing: development/contributing.md
List of Publications: publications.md
Help:
Moltres Discussion Forum: https://github.com/arfc/moltres/discussions
MOOSE Discussion Forum: https://github.com/idaholab/moose/discussions
Citing: citing.md
MooseDocs.extensions.appsyntax:
executable: ${ROOT_DIR}
remove: !include ${MOOSE_DIR}/framework/doc/remove.yml
includes:
- include
remove: !include ${MOOSE_DIR}/framework/doc/remove.yml
unregister: !include ${MOOSE_DIR}/framework/doc/unregister.yml
MooseDocs.extensions.acronym:
acronyms: !include ${MOOSE_DIR}/framework/doc/acronyms.yml
MooseDocs.extensions.common:
shortcuts:
framework: !include ${MOOSE_DIR}/framework/doc/globals.yml
MooseDocs.extensions.bibtex:
active: True
29 changes: 29 additions & 0 deletions doc/content/bib/conference-publications.bib
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@

@inproceedings{park_multiphysics_2021,
address = {Virtual Meeting},
series = {Reactor {Analysis} {Methods} - {I}},
title = {Multiphysics {Benchmark} {Results} from {Moltres}},
url = {https://www.ans.org/meetings/am2021/session/view-587/},
booktitle = {Proceedings of the 2021 {ANS} {Virtual} {Annual} {Meeting}},
publisher = {American Nuclear Society},
author = {Park, Sun Myung and Huff, Kathryn D},
month = jun,
year = {2021},
note = {(Submitted before May 2021)},
file = {Park and Huff - 2021 - Multiphysics Benchmark Results from Moltres.pdf:C\:\\Users\\Sun Myung\\Zotero\\storage\\DI37TPGK\\Park and Huff - 2021 - Multiphysics Benchmark Results from Moltres.pdf:application/pdf;Reactor Analysis Methods - I -- ANS / Meetings / 2021 ANS Virtual Annual Meeting / Technical Sessions:C\:\\Users\\Sun Myung\\Zotero\\storage\\PSC9JE66\\view-587.html:text/html},
}

@inproceedings{park_safety_2019,
address = {Seattle, WA, United States},
title = {Safety {Analysis} of the {Molten} {Salt} {Fast} {Reactor} {Fuel} {Composition} using {Moltres}},
url = {http://epubs.ans.org/?a=47030},
doi = {10.31224/osf.io/7ce89},
abstract = {The Molten Salt Fast Reactor (MSFR) has garnered much interest for its inherent safety and sustainbility features. The MSFR can adopt a closed thorium fuel cycle for sustainable operation through the breeding of 233 U from 232 Th. The fuel composition changes significantly over the course of its lifespan. In this study, we investigated the steady state and transient behavior of the MSFR using Moltres, a coupled neutronics/thermal-hydraulics code developed within the Multiphysics Object Oriented Simulation Environment (MOOSE) framework. Three different fuel compositions, start-up, early-life, and equilibrium, were examined for potentially dangerous core temperature excursions during a unprotected loss of heat sink (ULOHS) accident. The six-group and total neutron flux distributions showed good agreement with SERPENT and published MSFR results, while the temperature distribution and total power showed discrepancies which can be attributed toknown sources of error. For the transient behavior under the ULOHS scenario, while the transition time towards the new steady state core temperature is also in good agreement with existing MSFR simulations by Fiorina et al., Moltres under-estimated the temperature rise by a factor of ten, due to the same sources of error affecting the steady state results. While an MSFR loaded with start-up fuel composition operates at a higher temperature than with the other two fuel compositions, all three cases were shown to be inherently safe due to thestrong negative temperature feedback.},
urldate = {2019-11-05},
booktitle = {Proceedings of {GLOBAL} {International} {Fuel} {Cycle} {Conference}},
publisher = {American Nuclear Society},
author = {Park, Sun Myung and Rykhlevskii, Andrei and Huff, Kathryn},
month = sep,
year = {2019},
file = {Park et al. - 2019 - Safety Analysis of Molten Salt Fast Reactor Fuel C.pdf:C\:\\Users\\Sun Myung\\Zotero\\storage\\EXYUTUGW\\Park et al. - 2019 - Safety Analysis of Molten Salt Fast Reactor Fuel C.pdf:application/pdf},
}
79 changes: 79 additions & 0 deletions doc/content/bib/journal-publications.bib
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
@article{park_verification_2022,
title = {Verification of moltres for multiphysics simulations of fast-spectrum molten salt reactors},
volume = {173},
issn = {03064549},
url = {https://linkinghub.elsevier.com/retrieve/pii/S0306454922001463},
doi = {10.1016/j.anucene.2022.109111},
abstract = {Modeling strongly coupled neutronics and thermal–hydraulics in liquid-fueled MSRs requires robust and flexible multiphysics software for accurate simulations at reasonable computational costs. In this paper, we present Moltres and its neutronics and thermal–hydraulics modeling capabilities relevant to multiphysics reactor analysis. As a MOOSE-based application, Moltres provides various multiphysics coupling schemes and time-stepping methods, including fully coupled solves with implicit time-stepping. We verified Moltres’ MSR modeling capabilities against a multiphysics numerical benchmark developed for software dedicated to modeling fast-spectrum MSRs. The results show that Moltres performed comparably to participating software packages in the benchmark; the majority of the relevant quantities fell within one standard deviation of the benchmark average. Among the participating multiphysics tools in the benchmark, Moltres agrees closest to the multiphysics tool from the Delft University of Technology due to similarities in the numerical solution techniques and meshing schemes.},
language = {en},
urldate = {2022-04-26},
journal = {Annals of Nuclear Energy},
author = {Park, Sun Myung and Munk, Madicken},
month = aug,
year = {2022},
pages = {109111},
file = {Park and Munk - 2022 - Verification of moltres for multiphysics simulatio.pdf:C\:\\Users\\Sun Myung\\Zotero\\storage\\PHNTVU4R\\Park and Munk - 2022 - Verification of moltres for multiphysics simulatio.pdf:application/pdf},
}

@article{lindsay_introduction_2018,
title = {Introduction to {Moltres}: {An} application for simulation of {Molten} {Salt} {Reactors}},
volume = {114},
issn = {0306-4549},
shorttitle = {Introduction to {Moltres}},
url = {https://linkinghub.elsevier.com/retrieve/pii/S0306454917304760},
doi = {10.1016/j.anucene.2017.12.025},
abstract = {Moltres is a new physics application for modeling coupled physics in fluid-fuelled, molten salt reactors. This paper describes its neutronics model, thermal hydraulics model, and their coupling in the MOOSE framework. Neutron and precursor equations are implemented using an action system that allows use of an arbitrary number of groups with no change in the input card. Results for many-channel configurations in 2D-axisymmetric and 3D coordinates are presented and compared against other coupled models as well as the Molten Salt Reactor Experiment.},
language = {en},
urldate = {2018-01-08},
journal = {Annals of Nuclear Energy},
author = {Lindsay, Alexander and Ridley, Gavin and Rykhlevskii, Andrei and Huff, Kathryn},
month = apr,
year = {2018},
keywords = {agent based modeling, Finite elements, Hydrologic contaminant transport, MOOSE, Multiphysics, nuclear engineering, Nuclear fuel cycle, Object orientation, Parallel computing, Reactor physics, repository, Simulation, Systems analysis},
pages = {530--540},
annote = {2d prescribed},
file = {Lindsay et al. - 2018 - Introduction to Moltres An application for simula.pdf:C\:\\Users\\Sun Myung\\Zotero\\storage\\RCWUNGTP\\Lindsay et al. - 2018 - Introduction to Moltres An application for simula.pdf:application/pdf;Lindsay et al. - 2018 - Introduction to Moltres An application for simula.pdf:C\:\\Users\\Sun Myung\\Zotero\\storage\\3GEC6NQ9\\Lindsay et al. - 2018 - Introduction to Moltres An application for simula.pdf:application/pdf;Moltres.pdf:C\:\\Users\\Sun Myung\\Zotero\\storage\\4XDXRICB\\Moltres.pdf:application/pdf;ScienceDirect Full Text PDF:C\:\\Users\\Sun Myung\\Zotero\\storage\\E2T9U5IX\\Lindsay et al. - 2018 - Introduction to Moltres An application for simula.pdf:application/pdf;ScienceDirect Snapshot:C\:\\Users\\Sun Myung\\Zotero\\storage\\3DT9TEY3\\S0306454917304760.html:text/html},
}

@article{lindsay_moltres_2018,
title = {Moltres: finite element based simulation of molten salt reactors},
volume = {3},
shorttitle = {Moltres},
doi = {10.21105/joss.00298},
abstract = {Moltres is a physics application for multiphysics modeling of fluid-fueled molten salt reactors
(MSRs) (Lindsay et al. 2018). It couples equations for neutron diffusion, thermal
hydraulics, and delayed neutron precursor transport. Neutron diffusion and precursor
transport equations are set-up using an action system that allows the user to use an arbitrary
number of neutron energy and precursor groups respectively with minimal input
changes. Moltres sits on top of the Multi-physics Object-Oriented Simulation Environment
(Gaston et al. 2015) and hence uses the finite element method to discretize the
governing partial differential equations. In general the resulting system of non-linear algebraic
equations is linearized using the Newton-Raphson method and then solved using
the Portable, Extensible Toolkit for Scientific Computation (Balay et al. 2017). Assembly
of the Jacobian and residual, and the linear solve are parallelized using MPI which
allows Moltres to be run in massively parallel environments. Runs on the Blue Waters
supercomputer at Illinois have utilized up to 608 cores.
Moltres and MOOSE allow use of different basis functions for different system variables.
Because of the purely diffusive nature of the neutron diffusion equations, neutron fluxes are
typically discretized using continuous first-degree Lagrange polynomials and the degrees of
freedom are associated with mesh nodes. The temperature variable may also be discretized
with a continuous Lagrange basis, or a discontinuous basis of arbitrary degree monomials
may be employed depending on the relative balance of heat convection to conduction. The
purely hyperbolic precursor transport is currently discretized using constant monomials,
which is equivalent to a first-order finite volume discretization. Moltres supports both
segregated (through Picard iteration) and monolithic solutions of the equation system.
However, due to the feedback between the power spectrum and temperature dependence
of macroscopic cross-sections, monolithic solves have demonstrated superior robustness
with segregated techniques often unable to converge to a solution. This result emphasizes
the importance of a fully coupled multi-physics framework like the one that Moltres and
MOOSE provide and suggests that iteratively coupling codes devoted to single physics
(Kópházi, Lathouwers, and Kloosterman 2009) may result in limited flexibility.},
number = {21},
urldate = {2018-01-08},
journal = {The Journal of Open Source Software},
author = {Lindsay, Alexander and Huff, Kathryn},
month = jan,
year = {2018},
pages = {1--2},
file = {Full Text PDF:C\:\\Users\\Sun Myung\\Zotero\\storage\\MJIZZW4P\\Lindsay and Huff - 2018 - Moltres finite element based simulation of molten.pdf:application/pdf;Snapshot:C\:\\Users\\Sun Myung\\Zotero\\storage\\E3ARQ46H\\joss.html:text/html},
}
Loading