Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1,301 changes: 173 additions & 1,128 deletions ThirdParty/sundials/CMakeLists.txt

Large diffs are not rendered by default.

Binary file removed ThirdParty/sundials/INSTALL_GUIDE.pdf
Binary file not shown.
2 changes: 1 addition & 1 deletion ThirdParty/sundials/LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
BSD 3-Clause License

Copyright (c) 2002-2019, Lawrence Livermore National Security and Southern Methodist University.
Copyright (c) 2002-2021, Lawrence Livermore National Security and Southern Methodist University.
All rights reserved.

Redistribution and use in source and binary forms, with or without
Expand Down
72 changes: 29 additions & 43 deletions ThirdParty/sundials/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# SUNDIALS: SUite of Nonlinear and DIfferential/ALgebraic equation Solvers #
### Version 5.7.0 (Jan 2021) ###

#### Cody Balos, David Gardner, Alan Hindmarsh, Slaven Peles, Daniel Reynolds, Radu Serban, and Carol Woodward ####
Center for Applied Scientific Computing, Lawrence Livermore National Laboratory
**Center for Applied Scientific Computing, Lawrence Livermore National Laboratory**

SUNDIALS is a family of software packages implemented with the goal of
providing robust time integrators and nonlinear solvers that can easily be
Expand Down Expand Up @@ -44,6 +44,7 @@ differential-algebraic equation systems (DAEs) of the form
``` F(u) = 0 ```

## Installation ##

For installation directions see the [INSTALL_GUIDE](./INSTALL_GUIDE.pdf) or
the installation chapter in any of the package user guides.

Expand All @@ -52,75 +53,60 @@ different times: Mixing old and new versions of SUNDIALS may fail. To avoid
such failures, obtain all desired package at the same time.

## Support ##

Full user guides for SUNDIALS packages are provided in the [doc](./doc)
directory along with documentation for example programs.

A list of Frequently Asked Questions on build and installation procedures as
well as common usage issues is available on the SUNDIALS [FAQ](https://computation.llnl.gov/projects/sundials/faq).

well as common usage issues is available on the SUNDIALS [FAQ](https://computing.llnl.gov/projects/sundials/faq).
For dealing with systems with unphysical solutions or discontinuities see the
SUNDIALS [usage notes](https://computation.llnl.gov/projects/sundials/usage-notes).
SUNDIALS [usage notes](https://computing.llnl.gov/projects/sundials/usage-notes).

If you have a question not covered in the FAQ or usage notes, please submit
your question to the SUNDIALS [mailing list](https://computation.llnl.gov/projects/sundials/mailing-list).
your question to the SUNDIALS [mailing list](https://computing.llnl.gov/projects/sundials/mailing-list).

## Contributing ##

Bug fixes or minor changes are preferred via a pull request to the
[SUNDIALS GitHub repository](https://github.com/LLNL/sundials). For more
information on contributing see the [CONTRIBUTING](./CONTRIBUTING.md) file.

## Release History ##
Date | SUNDIALS | ARKODE | CVODE | CVODES | IDA | IDAS | KINSOL
---------|-------------|-------------|-------------|-------------|-------------|-------------|-------------
Jan 2019 | 4.0.2 | 3.0.2 | 4.0.2 | 4.0.2 | 4.0.2 | 3.0.2 | 4.0.2
Dec 2018 | 4.0.1 | 3.0.1 | 4.0.1 | 4.0.1 | 4.0.1 | 3.0.1 | 4.0.1
Dec 2018 | 4.0.0 | 3.0.0 | 4.0.0 | 4.0.0 | 4.0.0 | 3.0.0 | 4.0.0
Oct 2018 | 3.2.1 | 2.2.1 | 3.2.1 | 3.2.1 | 3.2.1 | 2.2.1 | 3.2.1
Sep 2018 | 3.2.0 | 2.2.0 | 3.2.0 | 3.2.0 | 3.2.0 | 2.2.0 | 3.2.0
Jul 2018 | 3.1.2 | 2.1.2 | 3.1.2 | 3.1.2 | 3.1.2 | 2.1.2 | 3.1.2
May 2018 | 3.1.1 | 2.1.1 | 3.1.1 | 3.1.1 | 3.1.1 | 2.1.1 | 3.1.1
Nov 2017 | 3.1.0 | 2.1.0 | 3.1.0 | 3.1.0 | 3.1.0 | 2.1.0 | 3.1.0
Sep 2017 | 3.0.0 | 2.0.0 | 3.0.0 | 3.0.0 | 3.0.0 | 2.0.0 | 3.0.0
Sep 2016 | 2.7.0 | 1.1.0 | 2.9.0 | 2.9.0 | 2.9.0 | 1.3.0 | 2.9.0
Aug 2015 | 2.6.2 | 1.0.2 | 2.8.2 | 2.8.2 | 2.8.2 | 1.2.2 | 2.8.2
Mar 2015 | 2.6.1 | 1.0.1 | 2.8.1 | 2.8.1 | 2.8.1 | 1.2.1 | 2.8.1
Mar 2015 | 2.6.0 | 1.0.0 | 2.8.0 | 2.8.0 | 2.8.0 | 1.2.0 | 2.8.0
Mar 2012 | 2.5.0 | | 2.7.0 | 2.7.0 | 2.7.0 | 1.1.0 | 2.7.0
May 2009 | 2.4.0 | | 2.6.0 | 2.6.0 | 2.6.0 | 1.0.0 | 2.6.0
Nov 2006 | 2.3.0 | | 2.5.0 | 2.5.0 | 2.5.0 | | 2.5.0
Mar 2006 | 2.2.0 | | 2.4.0 | 2.4.0 | 2.4.0 | | 2.4.0
May 2005 | 2.1.1 | | 2.3.0 | 2.3.0 | 2.3.0 | | 2.3.0
Apr 2005 | 2.1.0 | | 2.3.0 | 2.2.0 | 2.3.0 | | 2.3.0
Mar 2005 | 2.0.2 | | 2.2.2 | 2.1.2 | 2.2.2 | | 2.2.2
Jan 2005 | 2.0.1 | | 2.2.1 | 2.1.1 | 2.2.1 | | 2.2.1
Dec 2004 | 2.0 | | 2.2.0 | 2.1.0 | 2.2.0 | | 2.2.0
Jul 2002 | 1.0 | | 2.0 | 1.0 | 2.0 | | 2.0

Information on recent changes to SUNDIALS can be found in the "Introduction"
chapter of each package's user guide and a complete release history is available
in the "SUNDIALS Release History" appendix of each user guide.

## Authors ##
The SUNDIALS Team: Carol S. Woodward, Daniel R. Reynolds, Alan C. Hindmarsh,
David J. Gardner, Slaven Peles, and Cody J. Balos. We thank Radu Serban for
significant and critical past contributions.

We also acknowledge past contributions of Scott D. Cohen, Peter N. Brown,
George Byrne, Allan G. Taylor, Steven L. Lee, Keith E. Grant, Aaron Collier,
Lawrence E. Banks, Steve Smith, Cosmin Petra, John Loffeld, Dan Shumaker,
Ulrike Yang, James Almgren-Bell, Shelby L. Lockhart, Hilari C. Tiedeman, Ting Yan,
Jean M. Sexton, and Chris White.
The SUNDIALS library has been developed over many years by a number of
contributors. The current SUNDIALS team consists of Cody J. Balos,
David J. Gardner, Alan C. Hindmarsh, Daniel R. Reynolds, and Carol S. Woodward.
We thank Radu Serban for significant and critical past contributions.

Other contributors to SUNDIALS include: James Almgren-Bell, Lawrence E. Banks,
Peter N. Brown, George Byrne, Rujeko Chinomona, Scott D. Cohen, Aaron Collier,
Keith E. Grant, Steven L. Lee, Shelby L. Lockhart, John Loffeld, Daniel McGreer,
Slaven Peles, Cosmin Petra, H. Hunter Schwartz, Jean M. Sexton,
Dan Shumaker, Steve G. Smith, Allan G. Taylor, Hilari C. Tiedeman, Chris White,
Ting Yan, and Ulrike M. Yang.


### Citing SUNDIALS ###

We ask users of SUNDIALS to cite the following paper in any publications
reporting work done with SUNDIALS:

* Alan C. Hindmarsh, Peter N. Brown, Keith E. Grant, Steven L. Lee, Radu
Serban, Dan E. Shumaker, and Carol S. Woodward. 2005. SUNDIALS: Suite of
nonlinear and differential/algebraic equation solvers. ACM Trans. Math. Softw.
31, 3 (September 2005), 363-396. DOI=https://doi.org/10.1145/1089014.1089020
31, 3 (September 2005), 363-396. DOI=http://dx.doi.org/10.1145/1089014.1089020

## License ##
SUNDIALS is released under the BSD 3-clause license. See the [LICENSE](./LICENSE)
and [NOTICE](./NOTICE) files for details.

All new contributions must be made under the BSD 3-clause license.
SUNDIALS is released under the BSD 3-clause license. See the [LICENSE](./LICENSE)
and [NOTICE](./NOTICE) files for details. All new contributions must be made
under the BSD 3-clause license.

**Please Note** If you are using SUNDIALS with any third party libraries linked
in (e.g., LAPACK, KLU, SuperLU_MT, PETSc, or *hypre*), be sure to review the
Expand Down
127 changes: 127 additions & 0 deletions ThirdParty/sundials/cmake/SUNDIALSConfig.cmake.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
# ---------------------------------------------------------------
# Programmer(s): Cody J. Balos @ LLNL
# ---------------------------------------------------------------
# SUNDIALS Copyright Start
# Copyright (c) 2002-2021, Lawrence Livermore National Security
# and Southern Methodist University.
# All rights reserved.
#
# See the top-level LICENSE and NOTICE files for details.
#
# SPDX-License-Identifier: BSD-3-Clause
# SUNDIALS Copyright End
# ---------------------------------------------------------------

include(CMakeFindDependencyMacro)
include("${CMAKE_CURRENT_LIST_DIR}/SUNDIALSTargets.cmake")

### ------- Alias targets
set(_SUNDIALS_ALIAS_TARGETS "@_SUNDIALS_ALIAS_TARGETS@")
foreach(ptr ${_SUNDIALS_ALIAS_TARGETS})
string(REGEX REPLACE "sundials_" "" ptr "${ptr}")
string(REGEX MATCHALL "([A-Za-z_]+)->([A-Za-z_]+)"
_matches "${ptr}")
set(_pointer ${CMAKE_MATCH_1})
set(_pointee ${CMAKE_MATCH_2})
set_target_properties(SUNDIALS::${_pointee} PROPERTIES IMPORTED_GLOBAL TRUE)
add_library(SUNDIALS::${_pointer} ALIAS SUNDIALS::${_pointee})
endforeach()

### ------- Create TPL imported targets

if(@ENABLE_HYPRE@ AND NOT TARGET SUNDIALS::HYPRE)
add_library(SUNDIALS::HYPRE INTERFACE IMPORTED GLOBAL)
target_link_libraries(SUNDIALS::HYPRE INTERFACE "@HYPRE_LIBRARIES@")
set_target_properties(SUNDIALS::HYPRE PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "@HYPRE_INCLUDE_DIR@")
endif()

if(@ENABLE_KLU@ AND NOT TARGET SUNDIALS::KLU)
add_library(SUNDIALS::KLU INTERFACE IMPORTED GLOBAL)
target_link_libraries(SUNDIALS::KLU INTERFACE "@KLU_LIBRARIES@")
set_target_properties(SUNDIALS::KLU PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "@KLU_INCLUDE_DIR@")
endif()

if(@ENABLE_PETSC@)
set(PETSC_LIBRARY_SINGLE "@PETSC_LIBRARY_SINGLE@")
if(${PETSC_LIBRARY_SINGLE})
foreach(suffix SYS VEC MAT DM KSP SNES TS ALL)
if(NOT TARGET SUNDIALS::PETSC_${suffix})
add_library(SUNDIALS::PETSC_${suffix} UNKNOWN IMPORTED)
set_target_properties(SUNDIALS::PETSC_${suffix} PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "@PETSC_INCLUDES_@")
set_target_properties(SUNDIALS::PETSC_${suffix} PROPERTIES
INTERFACE_LINK_LIBRARIES "@PETSC_LIBRARIES_@")
set_target_properties(SUNDIALS::PETSC_${suffix} PROPERTIES
INTERFACE_COMPILE_OPTIONS "@PETSC_DEFINITIONS@")
set_target_properties(SUNDIALS::PETSC_${suffix} PROPERTIES
IMPORTED_LOCATION "${PETSC_LIBRARY_SINGLE}")
endif()
endforeach()
else()
set(PESTC_LIBRARY_SYS "@PETSC_LIBRARY_SYS@")
set(PESTC_LIBRARY_VEC "@PETSC_LIBRARY_VEC@")
set(PESTC_LIBRARY_MAT "@PETSC_LIBRARY_MAT@")
set(PESTC_LIBRARY_DM "@PETSC_LIBRARY_DM@")
set(PESTC_LIBRARY_KSP "@PETSC_LIBRARY_KSP@")
set(PESTC_LIBRARY_SNES "@PETSC_LIBRARY_SNES@")
set(PESTC_LIBRARY_TS "@PETSC_LIBRARY_TS@")
set(PESTC_LIBRARY_ALL "@PETSC_LIBRARY_ALL@")

set(PESTC_LIBRARIES_SYS "@PETSC_LIBRARIES_SYS@")
set(PESTC_LIBRARIES_VEC "@PETSC_LIBRARIES_VEC@")
set(PESTC_LIBRARIES_MAT "@PETSC_LIBRARIES_MAT@")
set(PESTC_LIBRARIES_DM "@PETSC_LIBRARIES_DM@")
set(PESTC_LIBRARIES_KSP "@PETSC_LIBRARIES_KSP@")
set(PESTC_LIBRARIES_SNES "@PETSC_LIBRARIES_SNES@")
set(PESTC_LIBRARIES_TS "@PETSC_LIBRARIES_TS@")
set(PESTC_LIBRARIES_ALL "@PETSC_LIBRARIES_ALL@")

foreach(suffix SYS VEC MAT DM KSP SNES TS ALL)
if(NOT TARGET SUNDIALS::PETSC_${suffix})
add_library(SUNDIALS::PETSC_${suffix} UNKNOWN IMPORTED)
set_target_properties (SUNDIALS::PETSC_${suffix} PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "@PETSC_INCLUDES_@")
set_target_properties (SUNDIALS::PETSC_${suffix} PROPERTIES
INTERFACE_LINK_LIBRARIES "${PETSC_LIBRARIES_${suffix}}")
set_target_properties (SUNDIALS::PETSC_${suffix} PROPERTIES
INTERFACE_COMPILE_OPTIONS "${PETSC_DEFINITIONS}")
set_target_properties (SUNDIALS::PETSC_${suffix} PROPERTIES
IMPORTED_LOCATION "${PETSC_LIBRARY_${suffix}}")
endif()
endforeach()
endif()
endif()

if(@ENABLE_MAGMA@ AND NOT TARGET SUNDIALS::MAGMA)
add_library(SUNDIALS::MAGMA INTERFACE IMPORTED GLOBAL)
target_link_libraries(SUNDIALS::MAGMA INTERFACE "@MAGMA_LIBRARIES@")
set_target_properties(SUNDIALS::MAGMA PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "@MAGMA_INCLUDE_DIR@")
endif()

if(@ENABLE_SUPERLUDIST@ AND NOT TARGET SUNDIALS::SUPERLUDIST)
add_library(SUNDIALS::SUPERLUDIST INTERFACE IMPORTED GLOBAL)
target_link_libraries(SUNDIALS::SUPERLUDIST INTERFACE "@SUPERLUDIST_LIBRARIES@")
set_target_properties(SUNDIALS::SUPERLUDIST PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "@SUPERLUDIST_INCLUDE_DIR@")
endif()

if(@ENABLE_SUPERLUMT@ AND NOT TARGET SUNDIALS::SUPERLUMT)
add_library(SUNDIALS::SUPERLUMT INTERFACE IMPORTED GLOBAL)
target_link_libraries(SUNDIALS::SUPERLUMT INTERFACE "@SUPERLUMT_LIBRARIES@")
set_target_properties(SUNDIALS::SUPERLUMT PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "@SUPERLUMT_INCLUDE_DIR@")
endif()

if(@ENABLE_RAJA@ AND NOT TARGET RAJA)
find_package(RAJA PATHS @RAJA_DIR@)
endif()

if(@ENABLE_TRILINOS@ AND NOT TARGET SUNDIALS::TRILINOS)
add_library(SUNDIALS::TRILINOS INTERFACE IMPORTED GLOBAL)
target_link_libraries(SUNDIALS::TRILINOS INTERFACE "@Trilinos_LIBRARIES@")
set_target_properties(SUNDIALS::TRILINOS PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "@Trilinos_INCLUDE_DIRS@")
endif()

if(@ENABLE_XBRAID@ AND NOT TARGET SUNDIALS::XBRAID)
add_library(SUNDIALS::XBRAID INTERFACE IMPORTED GLOBAL)
target_link_libraries(SUNDIALS::XBRAID INTERFACE "@XBRAID_LIBRARIES@")
set_target_properties(SUNDIALS::XBRAID PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "@XBRAID_INCLUDE_DIR@")
endif()
Loading