mirror of
https://github.com/openmc-dev/openmc.git
synced 2026-07-27 13:45:36 -04:00
Merge branch 'develop' into small-fixes
This commit is contained in:
commit
c55c8dd258
18 changed files with 174 additions and 102 deletions
122
.github/workflows/ci.yml
vendored
Normal file
122
.github/workflows/ci.yml
vendored
Normal file
|
|
@ -0,0 +1,122 @@
|
|||
name: CI
|
||||
|
||||
on:
|
||||
# allows us to run workflows manually
|
||||
workflow_dispatch:
|
||||
|
||||
pull_request:
|
||||
branches:
|
||||
- develop
|
||||
- master
|
||||
push:
|
||||
branches:
|
||||
- develop
|
||||
- master
|
||||
|
||||
env:
|
||||
MPI_DIR: /usr
|
||||
HDF5_ROOT: /usr
|
||||
OMP_NUM_THREADS: 2
|
||||
COVERALLS_PARALLEL: true
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
|
||||
jobs:
|
||||
main:
|
||||
runs-on: ubuntu-16.04
|
||||
strategy:
|
||||
matrix:
|
||||
python-version: [3.8]
|
||||
mpi: [n, y]
|
||||
omp: [n, y]
|
||||
dagmc: [n]
|
||||
event: [n]
|
||||
vectfit: [n]
|
||||
|
||||
include:
|
||||
- python-version: 3.6
|
||||
omp: n
|
||||
mpi: n
|
||||
- python-version: 3.7
|
||||
omp: n
|
||||
mpi: n
|
||||
- dagmc: y
|
||||
python-version: 3.8
|
||||
mpi: y
|
||||
omp: y
|
||||
- event: y
|
||||
python-version: 3.8
|
||||
omp: y
|
||||
mpi: n
|
||||
- vectfit: y
|
||||
python-version: 3.8
|
||||
omp: n
|
||||
mpi: y
|
||||
|
||||
env:
|
||||
MPI: ${{ matrix.mpi }}
|
||||
PHDF5: ${{ matrix.mpi }}
|
||||
OMP: ${{ matrix.omp }}
|
||||
DAGMC: ${{ matrix.dagmc }}
|
||||
EVENT: ${{ matrix.event }}
|
||||
VECTFIT: ${{ matrix.vectfit }}
|
||||
|
||||
steps:
|
||||
-
|
||||
uses: actions/checkout@v2
|
||||
|
||||
-
|
||||
name: Set up Python ${{ matrix.python-version }}
|
||||
uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: ${{ matrix.python-version }}
|
||||
|
||||
-
|
||||
name: Environment Variables
|
||||
run: |
|
||||
echo "DAGMC_ROOT=$HOME/DAGMC"
|
||||
echo "OPENMC_CROSS_SECTIONS=$HOME/nndc_hdf5/cross_sections.xml" >> $GITHUB_ENV
|
||||
echo "OPENMC_ENDF_DATA=$HOME/endf-b-vii.1" >> $GITHUB_ENV
|
||||
|
||||
-
|
||||
name: Apt dependencies
|
||||
shell: bash
|
||||
run: |
|
||||
sudo apt -y update
|
||||
sudo apt install -y mpich \
|
||||
libmpich-dev \
|
||||
libhdf5-serial-dev \
|
||||
libhdf5-mpich-dev \
|
||||
libeigen3-dev
|
||||
-
|
||||
name: install
|
||||
shell: bash
|
||||
run: |
|
||||
echo "$HOME/NJOY2016/build" >> $GITHUB_PATH
|
||||
$GITHUB_WORKSPACE/tools/ci/gha-install.sh
|
||||
-
|
||||
name: before
|
||||
shell: bash
|
||||
run: $GITHUB_WORKSPACE/tools/ci/gha-before-script.sh
|
||||
|
||||
-
|
||||
name: test
|
||||
shell: bash
|
||||
run: $GITHUB_WORKSPACE/tools/ci/gha-script.sh
|
||||
|
||||
-
|
||||
name: after_success
|
||||
shell: bash
|
||||
run: |
|
||||
cpp-coveralls -i src -i include --exclude-pattern "/usr/*" --dump cpp_cov.json
|
||||
coveralls --merge=cpp_cov.json
|
||||
|
||||
finish:
|
||||
needs: main
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Coveralls Finished
|
||||
uses: coverallsapp/github-action@master
|
||||
with:
|
||||
github-token: ${{ secrets.github_token }}
|
||||
parallel-finished: true
|
||||
60
.travis.yml
60
.travis.yml
|
|
@ -1,60 +0,0 @@
|
|||
|
||||
sudo: required
|
||||
dist: xenial
|
||||
language: python
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- mpich
|
||||
- libmpich-dev
|
||||
- libhdf5-serial-dev
|
||||
- libhdf5-mpich-dev
|
||||
- libeigen3-dev
|
||||
config:
|
||||
retries: true
|
||||
services:
|
||||
- xvfb
|
||||
cache:
|
||||
directories:
|
||||
- $HOME/nndc_hdf5
|
||||
- $HOME/endf-b-vii.1
|
||||
env:
|
||||
global:
|
||||
- MPI_DIR=/usr
|
||||
- DAGMC_ROOT=$HOME/DAGMC
|
||||
- HDF5_ROOT=/usr
|
||||
- OMP_NUM_THREADS=2
|
||||
- OPENMC_CROSS_SECTIONS=$HOME/nndc_hdf5/cross_sections.xml
|
||||
- OPENMC_ENDF_DATA=$HOME/endf-b-vii.1
|
||||
- PATH=$PATH:$HOME/NJOY2016/build
|
||||
- COVERALLS_PARALLEL=true
|
||||
- NUMPY_EXPERIMENTAL_ARRAY_FUNCTION=0
|
||||
matrix:
|
||||
include:
|
||||
- python: "3.6"
|
||||
env: OMP=n MPI=n PHDF5=n
|
||||
- python: "3.7"
|
||||
env: OMP=n MPI=n PHDF5=n
|
||||
- python: "3.8"
|
||||
env: OMP=n MPI=n PHDF5=n
|
||||
- python: "3.8"
|
||||
env: OMP=y MPI=n PHDF5=n
|
||||
- python: "3.8"
|
||||
env: OMP=n MPI=y PHDF5=n VECTFIT=y
|
||||
- python: "3.8"
|
||||
env: OMP=n MPI=y PHDF5=y
|
||||
- python: "3.8"
|
||||
env: OMP=y MPI=y PHDF5=y DAGMC=y
|
||||
- python: "3.8"
|
||||
env: OMP=y MPI=n PHDF5=n EVENT=y
|
||||
notifications:
|
||||
webhooks: https://coveralls.io/webhook?repo_token=$COVERALLS_REPO_TOKEN
|
||||
install:
|
||||
- ./tools/ci/travis-install.sh
|
||||
before_script:
|
||||
- ./tools/ci/travis-before-script.sh
|
||||
script:
|
||||
- ./tools/ci/travis-script.sh
|
||||
after_success:
|
||||
- cpp-coveralls -i src -i include --exclude-pattern "/usr/*" --dump cpp_cov.json
|
||||
- coveralls --merge=cpp_cov.json
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
# OpenMC Monte Carlo Particle Transport Code
|
||||
|
||||
[](http://openmc.readthedocs.io/en/latest/license.html)
|
||||
[](https://travis-ci.org/openmc-dev/openmc)
|
||||
[](https://github.com/openmc-dev/openmc/actions)
|
||||
[](https://coveralls.io/github/openmc-dev/openmc?branch=develop)
|
||||
|
||||
The OpenMC project aims to provide a fully-featured Monte Carlo particle
|
||||
|
|
|
|||
|
|
@ -2044,13 +2044,9 @@ class DecayRate(MDGXS):
|
|||
num_delayed_groups)
|
||||
else:
|
||||
new_shape = (num_subdomains, num_delayed_groups)
|
||||
new_shape += xs.shape[1:]
|
||||
xs = np.reshape(xs, new_shape)
|
||||
|
||||
# Reverse data if user requested increasing energy groups since
|
||||
# tally data is stored in order of increasing energies
|
||||
if order_groups == 'increasing':
|
||||
xs = xs[..., ::-1, :]
|
||||
|
||||
if squeeze:
|
||||
# We want to squeeze out everything but the polar, azimuthal,
|
||||
# delayed group, and energy group data.
|
||||
|
|
|
|||
|
|
@ -149,7 +149,7 @@ Material::Material(pugi::xml_node node)
|
|||
|
||||
// Set density for macroscopic data
|
||||
if (units == "macro") {
|
||||
densities.push_back(1.0);
|
||||
densities.push_back(density_);
|
||||
} else {
|
||||
fatal_error("Units can only be macro for macroscopic data " + name);
|
||||
}
|
||||
|
|
@ -169,7 +169,7 @@ Material::Material(pugi::xml_node node)
|
|||
// Check if no atom/weight percents were specified or if both atom and
|
||||
// weight percents were specified
|
||||
if (units == "macro") {
|
||||
densities.push_back(1.0);
|
||||
densities.push_back(density_);
|
||||
} else {
|
||||
bool has_ao = check_for_node(node_nuc, "ao");
|
||||
bool has_wo = check_for_node(node_nuc, "wo");
|
||||
|
|
|
|||
|
|
@ -1995,13 +1995,13 @@ score_general_mg(Particle& p, int i_tally, int start_index, int filter_index,
|
|||
for (auto d_bin = 0; d_bin < filt.n_bins(); ++d_bin) {
|
||||
auto d = filt.groups()[d_bin] - 1;
|
||||
if (i_nuclide >= 0) {
|
||||
score += atom_density * flux
|
||||
score = atom_density * flux
|
||||
* nuc_xs.get_xs(MgxsType::DECAY_RATE, p_g, nullptr,
|
||||
nullptr, &d)
|
||||
* nuc_xs.get_xs(MgxsType::DELAYED_NU_FISSION, p_g, nullptr,
|
||||
nullptr, &d);
|
||||
} else {
|
||||
score += flux
|
||||
score = flux
|
||||
* macro_xs.get_xs(MgxsType::DECAY_RATE, p_g, nullptr,
|
||||
nullptr, &d)
|
||||
* macro_xs.get_xs(MgxsType::DELAYED_NU_FISSION, p_g, nullptr,
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
#include "openmc/capi.h"
|
||||
#include "openmc/cell.h"
|
||||
#include "openmc/geometry.h"
|
||||
#include "openmc/message_passing.h"
|
||||
#include "openmc/summary.h"
|
||||
#include "openmc/tallies/filter.h"
|
||||
#include "openmc/tallies/filter_cell.h"
|
||||
|
|
@ -48,7 +49,11 @@ int main(int argc, char** argv) {
|
|||
// the summary file will be used to check that
|
||||
// temperatures were set correctly so clear
|
||||
// error output can be provided
|
||||
#ifdef OPENMC_MPI
|
||||
if (openmc::mpi::master) openmc::write_summary();
|
||||
#else
|
||||
openmc::write_summary();
|
||||
#endif
|
||||
|
||||
openmc_run();
|
||||
openmc_finalize();
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
<materials>
|
||||
<cross_sections>./mgxs.h5</cross_sections>
|
||||
<material id="1" name="UO2 fuel">
|
||||
<density units="macro" value="1.0" />
|
||||
<density units="macro" value="1.1" />
|
||||
<macroscopic name="UO2" />
|
||||
</material>
|
||||
</materials>
|
||||
|
|
|
|||
|
|
@ -1,24 +1,24 @@
|
|||
k-combined:
|
||||
9.930873E-01 2.221904E-03
|
||||
9.834385E-01 7.095193E-03
|
||||
k-combined:
|
||||
9.948148E-01 1.216270E-03
|
||||
9.936965E-01 4.118371E-03
|
||||
k-combined:
|
||||
9.930873E-01 2.221904E-03
|
||||
9.834385E-01 7.095193E-03
|
||||
k-combined:
|
||||
9.755034E-01 6.178296E-03
|
||||
9.977232E-01 1.084193E-02
|
||||
k-combined:
|
||||
9.738059E-01 4.529068E-03
|
||||
9.945011E-01 5.571771E-03
|
||||
k-combined:
|
||||
9.866847E-01 9.485912E-03
|
||||
9.982627E-01 2.662444E-03
|
||||
k-combined:
|
||||
9.755024E-01 6.179047E-03
|
||||
9.977232E-01 1.084193E-02
|
||||
k-combined:
|
||||
9.738061E-01 4.529462E-03
|
||||
9.945007E-01 5.571589E-03
|
||||
k-combined:
|
||||
9.866835E-01 9.485832E-03
|
||||
9.982620E-01 2.662746E-03
|
||||
k-combined:
|
||||
9.719024E-01 4.213166E-03
|
||||
1.000071E+00 3.364791E-03
|
||||
k-combined:
|
||||
9.930873E-01 2.221904E-03
|
||||
9.834385E-01 7.095193E-03
|
||||
k-combined:
|
||||
9.930873E-01 2.221904E-03
|
||||
9.834385E-01 7.095193E-03
|
||||
|
|
|
|||
|
|
@ -67,7 +67,7 @@ class MGXSTestHarness(PyAPITestHarness):
|
|||
|
||||
# Instantiate some Materials and register the appropriate objects
|
||||
mat = openmc.Material(material_id=1, name='UO2 fuel')
|
||||
mat.set_density('macro', 1.0)
|
||||
mat.set_density('macro', 1.1)
|
||||
mat.add_macroscopic(uo2_data)
|
||||
|
||||
# Instantiate a Materials collection and export to XML
|
||||
|
|
|
|||
|
|
@ -193,10 +193,18 @@ domain=1 type=beta
|
|||
[1.21876271e-04 8.77101834e-05]
|
||||
[4.95946084e-05 3.67414816e-05]]
|
||||
domain=1 type=decay-rate
|
||||
[1.33568413e-02 3.25887984e-02 1.21105565e-01 3.06139633e-01
|
||||
8.62763808e-01 2.89789222e+00]
|
||||
[9.57055016e-04 2.28222032e-03 8.35436401e-03 2.06734948e-02
|
||||
5.63019289e-02 1.89486538e-01]
|
||||
[[1.33568413e-02]
|
||||
[3.25887984e-02]
|
||||
[1.21105565e-01]
|
||||
[3.06139633e-01]
|
||||
[8.62763808e-01]
|
||||
[2.89789222e+00]]
|
||||
[[9.57055016e-04]
|
||||
[2.28222032e-03]
|
||||
[8.35436401e-03]
|
||||
[2.06734948e-02]
|
||||
[5.63019289e-02]
|
||||
[1.89486538e-01]]
|
||||
domain=1 type=delayed-nu-fission matrix
|
||||
[[[0.00000000e+00 0.00000000e+00]
|
||||
[0.00000000e+00 0.00000000e+00]]
|
||||
|
|
|
|||
|
|
@ -47,6 +47,7 @@ def install(omp=False, mpi=False, phdf5=False, dagmc=False):
|
|||
|
||||
if dagmc:
|
||||
cmake_cmd.append('-Ddagmc=ON')
|
||||
cmake_cmd.append('-DCMAKE_PREFIX_PATH=~/DAGMC')
|
||||
|
||||
# Build in coverage mode for coverage testing
|
||||
cmake_cmd.append('-Dcoverage=on')
|
||||
|
|
@ -1,31 +1,31 @@
|
|||
#!/bin/bash
|
||||
set -ex
|
||||
|
||||
# Install NJOY 2016
|
||||
./tools/ci/travis-install-njoy.sh
|
||||
|
||||
# Install DAGMC if needed
|
||||
if [[ $DAGMC = 'y' ]]; then
|
||||
./tools/ci/travis-install-dagmc.sh
|
||||
fi
|
||||
|
||||
# Install vectfit for WMP generation if needed
|
||||
if [[ $VECTFIT = 'y' ]]; then
|
||||
./tools/ci/travis-install-vectfit.sh
|
||||
fi
|
||||
|
||||
# Upgrade pip, pytest, numpy before doing anything else
|
||||
pip install --upgrade pip
|
||||
pip install --upgrade pytest
|
||||
pip install --upgrade numpy
|
||||
|
||||
# Install NJOY 2016
|
||||
./tools/ci/gha-install-njoy.sh
|
||||
|
||||
# Install DAGMC if needed
|
||||
if [[ $DAGMC = 'y' ]]; then
|
||||
./tools/ci/gha-install-dagmc.sh
|
||||
fi
|
||||
|
||||
# Install vectfit for WMP generation if needed
|
||||
if [[ $VECTFIT = 'y' ]]; then
|
||||
./tools/ci/gha-install-vectfit.sh
|
||||
fi
|
||||
|
||||
# Install mpi4py for MPI configurations
|
||||
if [[ $MPI == 'y' ]]; then
|
||||
pip install --no-binary=mpi4py mpi4py
|
||||
fi
|
||||
|
||||
# Build and install OpenMC executable
|
||||
python tools/ci/travis-install.py
|
||||
python tools/ci/gha-install.py
|
||||
|
||||
# Install Python API in editable mode
|
||||
pip install -e .[test,vtk]
|
||||
Loading…
Add table
Add a link
Reference in a new issue