Aurora
Aurora is A Unified Resource for OpenMC (fusion) Reactor Applications.
Install / Use
/learn @aurora-multiphysics/AuroraREADME
AURORA
The name of this application is based on the following acronym:
A Unified Resource for OpenMC (fusion) Reactor Applications.
AURORA combines the Monte Carlo neutron transport calculations from OpenMC with the FEA calculations supported by the MOOSE framework, intended for the modelling of tokamak physics. Currently supported modules within MOOSE are Heat Conduction and Tensor Mechanics, intended to model the increase in temperature arising from heat deposited from neutrons, and subsequent thermal expansion and density changes respectively. Support for further modules is ongoing.
For more information on MOOSE see: [http://mooseframework.org]
For more information on OpenMC see: [https://docs.openmc.org/en/stable/]
License
AURORA is licensed under LGPL v2.1, see here.
Citation
If you have used AURORA in your work to produce results, please cite:
-
H Brooks and A Davis 2023 Plasma Phys. Control. Fusion 65 024002
Bibtex:
@article{brooks_aurora, author = {Brooks, H and Davis, A}, year = {2022}, month = {12}, pages = {024002}, title = {Scalable multi-physics for fusion reactors with AURORA}, volume = {65}, journal = {Plasma Physics and Controlled Fusion}, doi = {10.1088/1361-6587/aca998} }
If in addition you are performing breeder blanket studies and/or you have used the code Achlys, please also cite:
-
Brooks H, Dixon S and Davis A 2022 Towards Multiphysics Simulations of Fusion Breeder Blankets International Conference on Physics of Reactors 2022 (PHYSOR 2022) / Pittsburgh, PA, May 15-20 (American Nuclear Society) pp 2480–2489
Bibtex:
@inproceedings{brooks_physor, author = "Brooks, Helen and Dixon, Stephen, and Davis, Andrew", title = {{Towards Multiphysics Simulations of Fusion Breeder Blankets}}, booktitle = {{International Conference on Physics of Reactors 2022 (PHYSOR 2022) / Pittsburgh, PA, May 15-20}}, year = "2022", pages = "2480-2489", publisher = "American Nuclear Society", }
We also recommend that you cite works corresponding to AURORA's primary dependencies: MOOSE and OpenMC.
Installation
We currently provide support for Debian and Redhat flavours of Linux; we have explicitly tested for Ubuntu 20.04 and Fedora 33 using gcc 9.3.0.
If you would like support provided for another operating system or you experience any problems please get in touch via GitHub Issues, detailing your operating system using lsb_release -a (or equivalent), compiler version, and any relevant compiler errors.
If you do not want to build from source, please see the section on docker containers for a pre-built version.
Installation from Source
First ensure you have all the dependencies installed, as outlined below. If you would like to install from source in a pre-built environment (i.e. you don't want to install the dependencies below), you may want to use one of our docker images (see section below).
Otherwise, start by cloning the repository. All subsequent commands, unless otherwise indicated, are assumed to be executed from the root aurora directory:
git clone https://github.com/aurora-multiphysics/aurora.git && \
cd aurora/
A. Install Dependencies
1. Install recommended packages (requires sudo permissions)
In the case of Ubuntu run from the root AURORA directory:
sudo ./scripts/setup-env-ubuntu.sh
or for Fedora run
sudo ./scripts/setup-env-fedora.sh
For HPC systems where administrative permissions is not typical, it is likely you can skip this step, since assumed packages will likely already be available for example as modules. Subsequent steps assume the following packages are available in your environment:
- git
- cmake
- C++ compiler
- Fortran compiler
- Python 3
- HDF5
- BLAS
- LAPACK
- Eigen
- OpenMPI / MPICH (Optional, but recommended)
- rsync
- bison
- flex
- TBB (Optional, needed for Embree)
- GLFW (Optional, needed for Embree)
2. Install python packages
There are a number of python packages required to run the MOOSE test suite. We recommend installing these in a python virtual environment, using the script we have provided. For a full list of options run:
./scripts/setup-python-venv.sh -h
Although the flags are optional and have sensible defaults, we recommend most users should run with the following options:
./scripts/setup-python-venv.sh -w $WORKDIR -d $ENV -e $NAME -i $BASE_PROFILE -o $PROFILE
where:
- WORKDIR is the root level directory where to run commands
- ENV is the directory name in WORKDIR where to create the moose python environment
- BASE_PROFILE is a file from which to install the base environment (e.g. module load commands for HPC)
- PROFILE is an output profile to source to set up the MOOSE environment in future
3. Install MOOSE
We recommend building MOOSE using the script we have provided. For a full list of options run:
./scripts/build-moose.sh -h
Although the flags are optional and have sensible defaults, we recommend most users run with the following options:
./scripts/build-moose.sh -w $WORKDIR -j $JOBS -d $HDF5DIR -e ${BASE_PROFILE} -o $PROFILE
where
- WORKDIR is a directory in which to install moose
- JOBS is the number of cores to compile with
- HDF5DIR is the path to an installation of HDF5
- BASE_PROFILE is a file from which to install the base environment (e.g. module load commands for HPC)
- PROFILE is an output profile to source to set up the MOOSE environment in future
Please note, this script assumes:
- the environment variables CC, CXX and FC have been set to point at the compilers you wish to use. We recommend this is provided in your base profile.
- the python packages from part (A) of this step have been installed (these are necessary for the MOOSE test suite). If you used our script, remember to source the output profile which was created in that step. We recommend putting this command in your base profile.
4. Install additional dependencies
In adddition to MOOSE, AURORA has the following dependencies.
- MOAB
- Embree (optional)
- Double-Down (optional)
- DAGMC
- OpenMC
We recommend doing this with the script provided. First move into the scripts directory.
cd scripts
For a full list of options run:
./build-aurora-deps.sh -h
Although the flags are optional and have sensible defaults, we recommend most users run with the following options:
./build-aurora-deps.sh -w $WORKDIR -j $JOBS -i $INSTALLDIR -e $BASE_PROFILE -o $OUTPUTDIR
where
- WORKDIR is a base directory in which to build packages
- JOBS is the number of cores to compile with
- INSTALLDIR is the installation directory
- BASE_PROFILE is a file from which to install the base environment (e.g. module load commands for HPC)
- OUTPUTDIR is a directory in which package profile files will be installed
B. Set Up Environment
If you followed section A to install using scripts provided you should be able to set up your environment by sourcing the profiles created for MOOSE and OpenMC. You can provide these files as a comma separated list in the next section.
If you have installed your dependencies not using the scripts provided, you are responsible for ensuring your environment is sane:
- The Makefile for AURORA assumes the following environment variables have been set:
PETSC_DIR: path to PETSc installation directory.MOOSE_DIR: path to MOOSE installation directory.- Optionally you may want to set
MOOSE_JOBSto the number of cores on your system.
- In addition it is expected that the following MOAB / DAGMC / OpenMC executables can be found in your PATH:
openmc;mbconvert;make_watertight.
Finally, in order to run AURORA, you will need to have set the variable OPENMC_CROSS_SECTIONS to point to a cross_sections.xml file, see here for more details.
C. Build
Assuming you have followed sections A and B, you can run the following script to compile AURORA:
./scripts/build-aurora.sh -j $JOBS -e $ENVS -o $OUTPUTDIR -d $AURORADIR
where
- JOBS is the number of cores to compile with
- ENVS is a comma-separated list of profiles to source the environment (e.g. MOOSE and OpenMC)
- OUTPUTDIR is a directory in which package profile files will be installed
- AURORADIR is the path to the root AURORA directory (default = $PWD)
If everything succeeded there should now be an executable aurora-opt in the root aurora directory and all the tests should have passed.
D. Run Tests
The tests should have automatically run if you used the provided script in the previous section.
However, if you choose to do development work, you may wish to run the test suite.
Before you do this ensure the OPENMC_CROSS_SECTIONS environment variable points at a cross section file which contains KERMA-proces
Related Skills
node-connect
352.5kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
111.3kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
352.5kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
352.5kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
