Skip to content

Commit

Permalink
Merge pull request #356 from lanl/jhp/PTE_FPE
Browse files Browse the repository at this point in the history
Guard against FPEs in the PTE solver
  • Loading branch information
jhp-lanl authored Apr 19, 2024
2 parents 185d982 + abf3ff5 commit f6540ee
Show file tree
Hide file tree
Showing 3 changed files with 152 additions and 122 deletions.
10 changes: 5 additions & 5 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@
- [[PR#362]](https://github.com/lanl/singularity-eos/pull/362) Add lambda to thermalqs
- [[PR#339]](https://github.com/lanl/singularity-eos/pull/339) Added COMPONENTS to singularity-eos CMake install, allowing to select a minimal subset needed e.g. for Fortran bindings only
- [[PR#336]](https://github.com/lanl/singularity-eos/pull/336) Included code and documentation for a full, temperature consistent, Mie-Gruneisen EOS based on a pressure power law expansion in eta = 1-V/V0. PowerMG.
- [[PR334]](https://github.com/lanl/singularity-eos/pull/334) Include plugins infrastructure
- [[PR331]](https://github.com/lanl/singularity-eos/pull/331) Included code and documentation for a full, temperature consistent, Mie-Gruneisen EOS based on a linear Us-up relation. MGUsup.
- [[PR326]](https://github.com/lanl/singularity-eos/pull/326) Document how to do a release
- [[PR#357]](https://github.com/lanl/singularity-eos/pull/357) Added support for C++17 (e.g., needed when using newer Kokkos).

### Fixed (Repair bugs, etc)
Expand All @@ -14,11 +17,8 @@
- [[PR341]](https://github.com/lanl/singularity-eos/pull/341) Short-circuit HDF5 machinery when cray-wrappers used in-tree
- [[PR340]](https://github.com/lanl/singularity-eos/pull/335) Fix in-tree builds with plugin infrastructure
- [[PR335]](https://github.com/lanl/singularity-eos/pull/335) Fix missing hermite.hpp in CMake install required for Helmholtz EOS

### Added (new features/APIs/variables/...)
- [[PR334]](https://github.com/lanl/singularity-eos/pull/334) Include plugins infrastructure
- [[PR331]](https://github.com/lanl/singularity-eos/pull/331) Included code and documentation for a full, temperature consistent, Mie-Gruneisen EOS based on a linear Us-up relation. MGUsup.
- [[PR326]](https://github.com/lanl/singularity-eos/pull/326) Document how to do a release
- [[PR356]](https://github.com/lanl/singularity-eos/pull/356) Guard against FPEs in the PTE solver
- [[PR356]](https://github.com/lanl/singularity-eos/pull/356) Update CMake for proper Kokkos linking in Fortran interface

### Changed (changing behavior/API/variables/...)

Expand Down
12 changes: 8 additions & 4 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# ------------------------------------------------------------------------------#
# © 2021-2023. Triad National Security, LLC. All rights reserved. This program
# © 2021-2024. 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.
Expand Down Expand Up @@ -340,10 +340,12 @@ if(SINGULARITY_USE_SPINER)
# singularity_enable_hdf5(singularity-eos_Interface) endif()
endif()

# Both the interface (headers) and the library (compiled) need to link to Kokkos
# see get_sg_eos.cpp
if(SINGULARITY_USE_KOKKOS)
singularity_enable_kokkos(singularity-eos_Interface)
singularity_enable_kokkos(singularity-eos_Common)
if(SINGULARITY_USE_KOKKOSKERNELS)
singularity_enable_kokkoskernels(singularity-eos_Interface)
singularity_enable_kokkoskernels(singularity-eos_Common)
endif()
endif()
if(SINGULARITY_USE_EIGEN)
Expand Down Expand Up @@ -408,7 +410,9 @@ if(SINGULARITY_BUILD_CLOSURE)
add_library(singularity-eos_Library)
set_target_properties(singularity-eos_Library PROPERTIES OUTPUT_NAME singularity-eos)
add_library(singularity-eos::singularity-eos_Library ALIAS singularity-eos_Library)
target_link_libraries(singularity-eos_Library INTERFACE singularity-eos_Common)
# Public scope ensures explicit Kokkos dependency for library and anything
# that links to it
target_link_libraries(singularity-eos_Library PUBLIC singularity-eos_Common)
target_link_libraries(singularity-eos INTERFACE singularity-eos_Library)
target_sources(singularity-eos_Library PRIVATE ${eos_srcs})
message(VERBOSE "EOS Library Sources:\n\t${eos_srcs}")
Expand Down
Loading

0 comments on commit f6540ee

Please sign in to comment.