mirror of
https://github.com/openmc-dev/openmc.git
synced 2026-07-28 22:26:08 -04:00
adding back files to be reviewed
This commit is contained in:
parent
ae28233110
commit
bc09d1ef55
1244 changed files with 301904 additions and 0 deletions
13
tools/ci/download-xs.sh
Executable file
13
tools/ci/download-xs.sh
Executable file
|
|
@ -0,0 +1,13 @@
|
|||
#!/bin/bash
|
||||
set -ex
|
||||
|
||||
# Download HDF5 data
|
||||
if [[ ! -e $HOME/nndc_hdf5/cross_sections.xml ]]; then
|
||||
wget -q -O - https://anl.box.com/shared/static/teaup95cqv8s9nn56hfn7ku8mmelr95p.xz | tar -C $HOME -xJ
|
||||
fi
|
||||
|
||||
# Download ENDF/B-VII.1 distribution
|
||||
ENDF=$HOME/endf-b-vii.1/
|
||||
if [[ ! -d $ENDF/neutrons || ! -d $ENDF/photoat || ! -d $ENDF/atomic_relax ]]; then
|
||||
wget -q -O - https://anl.box.com/shared/static/4kd2gxnf4gtk4w1c8eua5fsua22kvgjb.xz | tar -C $HOME -xJ
|
||||
fi
|
||||
5
tools/ci/travis-before-script.sh
Executable file
5
tools/ci/travis-before-script.sh
Executable file
|
|
@ -0,0 +1,5 @@
|
|||
#!/bin/bash
|
||||
set -ex
|
||||
|
||||
# Download NNDC HDF5 data, ENDF/B-VII.1 distribution, multipole library
|
||||
source tools/ci/download-xs.sh
|
||||
38
tools/ci/travis-install-dagmc.sh
Executable file
38
tools/ci/travis-install-dagmc.sh
Executable file
|
|
@ -0,0 +1,38 @@
|
|||
|
||||
#!/bin/bash
|
||||
set -ex
|
||||
|
||||
# MOAB Variables
|
||||
MOAB_BRANCH='Version5.1.0'
|
||||
MOAB_REPO='https://bitbucket.org/fathomteam/moab/'
|
||||
MOAB_INSTALL_DIR=$HOME/MOAB/
|
||||
|
||||
# DAGMC Variables
|
||||
DAGMC_BRANCH='develop'
|
||||
DAGMC_REPO='https://github.com/svalinn/dagmc'
|
||||
DAGMC_INSTALL_DIR=$HOME/DAGMC/
|
||||
|
||||
CURRENT_DIR=$(pwd)
|
||||
|
||||
# MOAB Install
|
||||
cd $HOME
|
||||
mkdir MOAB && cd MOAB
|
||||
git clone -b $MOAB_BRANCH $MOAB_REPO
|
||||
mkdir build && cd build
|
||||
cmake ../moab -DENABLE_HDF5=ON -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=$MOAB_INSTALL_DIR
|
||||
make -j && make -j install
|
||||
cmake ../moab -DBUILD_SHARED_LIBS=OFF
|
||||
make -j install
|
||||
rm -rf $HOME/MOAB/moab
|
||||
export LD_LIBRARY_PATH=$MOAB_INSTALL_DIR/lib:$LD_LIBRARY_PATH
|
||||
|
||||
# DAGMC Install
|
||||
mkdir DAGMC && cd DAGMC
|
||||
git clone -b $DAGMC_BRANCH $DAGMC_REPO
|
||||
mkdir build && cd build
|
||||
cmake ../dagmc -DBUILD_TALLY=ON -DCMAKE_INSTALL_PREFIX=$DAGMC_INSTALL_DIR -DMOAB_DIR=$MOAB_INSTALL_DIR
|
||||
make -j install
|
||||
rm -rf $HOME/DAGMC/dagmc
|
||||
export LD_LIBRARY_PATH=$DAGMC_INSTALL_DIR/lib:$LD_LIBRARY_PATH
|
||||
|
||||
cd $CURRENT_DIR
|
||||
7
tools/ci/travis-install-njoy.sh
Executable file
7
tools/ci/travis-install-njoy.sh
Executable file
|
|
@ -0,0 +1,7 @@
|
|||
#!/bin/bash
|
||||
set -ex
|
||||
cd $HOME
|
||||
git clone https://github.com/njoy/NJOY2016
|
||||
cd NJOY2016
|
||||
mkdir build && cd build
|
||||
cmake -Dstatic=on .. && make 2>/dev/null && sudo make install
|
||||
73
tools/ci/travis-install.py
Normal file
73
tools/ci/travis-install.py
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
import os
|
||||
import shutil
|
||||
import subprocess
|
||||
|
||||
def which(program):
|
||||
def is_exe(fpath):
|
||||
return os.path.isfile(fpath) and os.access(fpath, os.X_OK)
|
||||
|
||||
fpath, fname = os.path.split(program)
|
||||
if fpath:
|
||||
if is_exe(program):
|
||||
return program
|
||||
else:
|
||||
for path in os.environ["PATH"].split(os.pathsep):
|
||||
path = path.strip('"')
|
||||
exe_file = os.path.join(path, program)
|
||||
if is_exe(exe_file):
|
||||
return exe_file
|
||||
return None
|
||||
|
||||
|
||||
def install(omp=False, mpi=False, phdf5=False, dagmc=False):
|
||||
# Create build directory and change to it
|
||||
shutil.rmtree('build', ignore_errors=True)
|
||||
os.mkdir('build')
|
||||
os.chdir('build')
|
||||
|
||||
# Build in debug mode by default
|
||||
cmake_cmd = ['cmake', '-Ddebug=on']
|
||||
|
||||
# Turn off OpenMP if specified
|
||||
if not omp:
|
||||
cmake_cmd.append('-Dopenmp=off')
|
||||
|
||||
# Use MPI wrappers when building in parallel
|
||||
if mpi:
|
||||
os.environ['CXX'] = 'mpicxx'
|
||||
|
||||
# Tell CMake to prefer parallel HDF5 if specified
|
||||
if phdf5:
|
||||
if not mpi:
|
||||
raise ValueError('Parallel HDF5 must be used in '
|
||||
'conjunction with MPI.')
|
||||
cmake_cmd.append('-DHDF5_PREFER_PARALLEL=ON')
|
||||
else:
|
||||
cmake_cmd.append('-DHDF5_PREFER_PARALLEL=OFF')
|
||||
|
||||
if dagmc:
|
||||
cmake_cmd.append('-Ddagmc=ON')
|
||||
|
||||
# Build in coverage mode for coverage testing
|
||||
cmake_cmd.append('-Dcoverage=on')
|
||||
|
||||
# Build and install
|
||||
cmake_cmd.append('..')
|
||||
print(' '.join(cmake_cmd))
|
||||
subprocess.check_call(cmake_cmd)
|
||||
subprocess.check_call(['make', '-j4'])
|
||||
subprocess.check_call(['sudo', 'make', 'install'])
|
||||
|
||||
def main():
|
||||
# Convert Travis matrix environment variables into arguments for install()
|
||||
omp = (os.environ.get('OMP') == 'y')
|
||||
mpi = (os.environ.get('MPI') == 'y')
|
||||
phdf5 = (os.environ.get('PHDF5') == 'y')
|
||||
|
||||
dagmc = (os.environ.get('DAGMC') == 'y')
|
||||
|
||||
# Build and install
|
||||
install(omp, mpi, phdf5, dagmc)
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
32
tools/ci/travis-install.sh
Executable file
32
tools/ci/travis-install.sh
Executable file
|
|
@ -0,0 +1,32 @@
|
|||
#!/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
|
||||
|
||||
# Upgrade pip, pytest, numpy before doing anything else
|
||||
pip install --upgrade pip
|
||||
pip install --upgrade pytest
|
||||
pip install --upgrade numpy
|
||||
|
||||
# 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
|
||||
|
||||
# Install Python API in editable mode
|
||||
pip install -e .[test,vtk]
|
||||
|
||||
# For coverage testing of the C++ source files
|
||||
pip install cpp-coveralls
|
||||
|
||||
# For coverage testing of the Python source files
|
||||
pip install coveralls
|
||||
9
tools/ci/travis-script.sh
Executable file
9
tools/ci/travis-script.sh
Executable file
|
|
@ -0,0 +1,9 @@
|
|||
#!/bin/bash
|
||||
set -ex
|
||||
|
||||
# Run regression and unit tests
|
||||
if [[ $MPI == 'y' ]]; then
|
||||
pytest --cov=openmc -v --mpi tests
|
||||
else
|
||||
pytest --cov=openmc -v tests
|
||||
fi
|
||||
Loading…
Add table
Add a link
Reference in a new issue