Skip to content

Repository files navigation

Singularity EOS

Tests

A collection of closure models and tools useful for multiphysics codes

Components

  • eos contains the analytic and tabular equation of state infrastructure
  • closure contains mixed cell closure models. Currently pressure-temperature equilibrium is supported. Requires eos.
  • utils/sesame2spiner converts sesame tables to

To Build

At its most basic:

git clone --recursive git@github.com:lanl/singularity-eos.git
cd singularity-eos
mkdir bin
cd bin
cmake ..
make

To Make tests

To build the tests, in the singularity-eos root directory, clone singularity-eos-data, which is a git-lfs directory. First you need to install git-lfs. This only needs to be done once. Download git-lfs via, e.g.,

apt install git-lfs

and then add the requisite files into your home directory via

git lfs install

Then, in the singularity-eos root directory:

git clone git@gitlab.lanl.gov:singularity/singularity-eos-data.git
mkdir -p bin
cd bin
cmake -DSINGULARITY_BUILD_TESTS=ON ..
make -j
make test

Build Options

A number of options are avaialable for compiling:

OptionDefaultComment
SINGULARITY_USE_HDF5ONEnables HDF5. Required for SpinerEOS, StellarCollapseEOS, and sesame2spiner
SINGULARITY_USE_FORTRANONEnable Fortran API for equation of state
SINGULARITY_USE_KOKKOSOFFUses Kokkos as the portability backend. Currently only Kokkos is supported for GPUs.
SINGULARITY_USE_EOSPACOFFLink against EOSPAC. Needed for sesame2spiner and some tests.
SINGULARITY_USE_CUDAOFFTarget nvidia GPUs via cuda. Currently requires Kokkos.
SINGULARITY_USE_KOKKOSKERNELSOFFUse Kokkos Kernels for linear algebra. Needed for mixed cell closure models on GPU
SINGULARITY_BUILD_CLOSUREONBuilds mixed cell closure machinery for multi-material problems
SINGULARITY_BUILD_TESTSOFFBuild test infrastructure.
SINGULARITY_TEST_SESAMEOFFTest the Sesame table readers
SINGULARITY_TEST_STELLAR_COLLAPSEOFFTest the Stellar Collapse table readers
SINGULARITY_BUILD_SESAME2SPINEROFFBuilds the conversion tool sesame2spiner which makes files readable by SpinerEOS
SINGULARITY_BUILD_STELLARCOLLAPSE2SPINEROFFBuilds the conversion tool stellarcollapse2spiner which optionally makes stellar collapse files faster to read
SINGULARITY_INVERT_AT_SETUPOFFFor tests, pre-invert eospac tables.
SINGULARITY_BETTER_DEBUG_FLAGSONEnables nicer GPU debug flags. May interfere with in-tree builds as a submodule
SINGULARITY_HIDE_MORE_WARNINGSOFFMakes warnings less verbose. May interfere with in-tree builds as a submodule
SINGULARITY_SUBMODULE_MODEOFFSets cmake flags for in-tree builds

Building on Darwin power9 nodes with the IBM xl compiler

git clone --recursive https://gitlab.lanl.gov/singularity/singularity-eos.git
cd singularity-eos
mkdir bin &&cd bin
source /usr/projects/eap/dotfiles/.bashrc xl reset
module switch ibm/xlc-16.1.1.5-xlf-16.1.1.5 ibm/xlc-16.1.1.7-xlf-16.1.1.7-gcc-7.4.0
export FC="xlf_r -F/usr/projects/opt/ppc64le/ibm/xlf-16.1.1.7/xlf/16.1.1/etc/xlf.cfg.rhel.7.8.gcc.7.4.0.cuda.10.1"
module load cmake/3.17.3
cd /build/directory
cmake -DCMAKE_BUILD_TYPE=Release -DSINGULARITY_USE_KOKKOS=ON -DSINGULARITY_USE_HDF5=ON -DSINGULARITY_USE_EOSPAC=ON -DSINGULARITY_EOSPAC_INSTALL_DIR=/usr/projects/eap/spack/spack-develop_20191010/opt/spack/linux-rhel7-power9le/xl_r-16.1.1.7-plain/eospac-6.4.0beta.2-mp6hd267l4iokwr6ght2kp5ukk5zc6vq -DSINGULARITY_BUILD_TESTS=ON ..
make -j
make test

Copyright

© 2021. Triad National Security, LLC. All rights reserved. This program was produced under U.S. Government contract 89233218CNA000001 for Los Alamos National Laboratory (LANL), which is operated by Triad National Security, LLC for the U.S. Department of Energy/National Nuclear Security Administration. All rights in the program are reserved by Triad National Security, LLC, and the U.S. Department of Energy/National Nuclear Security Administration. The Government is granted for itself and others acting on its behalf a nonexclusive, paid-up, irrevocable worldwide license in this material to reproduce, prepare derivative works, distribute copies to the public, perform publicly and display publicly, and to permit others to do so.

About

Performance portable equations of state and mixed cell closures

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages