Skip to content

Commit 89fc2c6

Browse files
committed
upgrading to sundials v6.0.0; adding unmodified sundials library
1 parent 72552bf commit 89fc2c6

2,520 files changed

Lines changed: 926024 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# .readthedocs.yaml
2+
# Read the Docs configuration file
3+
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
4+
5+
# Required
6+
version: 2
7+
8+
# Set the version of Python and other tools you might need
9+
build:
10+
os: ubuntu-20.04
11+
tools:
12+
python: "3.9"
13+
14+
# Build documentation in the doc/ directory with Sphinx
15+
sphinx:
16+
configuration: doc/superbuild/source/conf.py
17+
18+
# Optionally declare the Python requirements required to build your docs
19+
python:
20+
install:
21+
- requirements: doc/requirements.txt

lib/sundials_6.0.0/CHANGELOG.md

Lines changed: 1533 additions & 0 deletions
Large diffs are not rendered by default.

lib/sundials_6.0.0/CMakeLists.txt

Lines changed: 266 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,266 @@
1+
# ---------------------------------------------------------------
2+
# Programmer(s): Radu Serban, David J. Gardner, Cody J. Balos,
3+
# and Slaven Peles @ LLNL
4+
# ---------------------------------------------------------------
5+
# SUNDIALS Copyright Start
6+
# Copyright (c) 2002-2021, Lawrence Livermore National Security
7+
# and Southern Methodist University.
8+
# All rights reserved.
9+
#
10+
# See the top-level LICENSE and NOTICE files for details.
11+
#
12+
# SPDX-License-Identifier: BSD-3-Clause
13+
# SUNDIALS Copyright End
14+
# ---------------------------------------------------------------
15+
# Top level CMakeLists.txt for SUNDIALS (for cmake build system)
16+
# ---------------------------------------------------------------
17+
18+
# ===============================================================
19+
# Initial setup.
20+
# ===============================================================
21+
22+
cmake_minimum_required(VERSION 3.12)
23+
24+
# Project SUNDIALS (initially only C supported)
25+
# sets PROJECT_SOURCE_DIR and PROJECT_BINARY_DIR variables.
26+
project(SUNDIALS C)
27+
28+
# Specify the location of additional CMAKE modules
29+
set(CMAKE_MODULE_PATH
30+
${PROJECT_SOURCE_DIR}/cmake
31+
${PROJECT_SOURCE_DIR}/cmake/macros
32+
${PROJECT_SOURCE_DIR}/cmake/tpl
33+
)
34+
35+
# MACRO definitions
36+
include(SundialsCMakeMacros)
37+
include(CMakePrintHelpers)
38+
include(CheckCSourceCompiles)
39+
include(FindPackageHandleStandardArgs)
40+
41+
42+
# Set some variables with info on the SUNDIALS project
43+
set(PACKAGE_BUGREPORT "sundials-users@llnl.gov")
44+
set(PACKAGE_NAME "SUNDIALS")
45+
set(PACKAGE_STRING "SUNDIALS 6.0.0")
46+
set(PACKAGE_TARNAME "sundials")
47+
48+
# Set SUNDIALS version numbers
49+
sundials_git_version() # sets SUNDIALS_GIT_VERSION
50+
message(STATUS "SUNDIALS_GIT_VERSION: ${SUNDIALS_GIT_VERSION}")
51+
52+
# (use "" for the version label if none is needed)
53+
set(PACKAGE_VERSION_MAJOR "6")
54+
set(PACKAGE_VERSION_MINOR "0")
55+
set(PACKAGE_VERSION_PATCH "0")
56+
set(PACKAGE_VERSION_LABEL "")
57+
58+
if(PACKAGE_VERSION_LABEL)
59+
set(PACKAGE_VERSION
60+
"${PACKAGE_VERSION_MAJOR}.${PACKAGE_VERSION_MINOR}.${PACKAGE_VERSION_PATCH}-${PACKAGE_VERSION_LABEL}"
61+
)
62+
else()
63+
set(PACKAGE_VERSION
64+
"${PACKAGE_VERSION_MAJOR}.${PACKAGE_VERSION_MINOR}.${PACKAGE_VERSION_PATCH}"
65+
)
66+
endif()
67+
68+
# Specify the VERSION and SOVERSION for shared libraries
69+
70+
set(arkodelib_VERSION "5.0.0")
71+
set(arkodelib_SOVERSION "5")
72+
73+
set(cvodelib_VERSION "6.0.0")
74+
set(cvodelib_SOVERSION "6")
75+
76+
set(cvodeslib_VERSION "6.0.0")
77+
set(cvodeslib_SOVERSION "6")
78+
79+
set(idalib_VERSION "6.0.0")
80+
set(idalib_SOVERSION "6")
81+
82+
set(idaslib_VERSION "5.0.0")
83+
set(idaslib_SOVERSION "5")
84+
85+
set(kinsollib_VERSION "6.0.0")
86+
set(kinsollib_SOVERSION "6")
87+
88+
set(cpodeslib_VERSION "0.0.0")
89+
set(cpodeslib_SOVERSION "0")
90+
91+
set(nveclib_VERSION "6.0.0")
92+
set(nveclib_SOVERSION "6")
93+
94+
set(sunmatrixlib_VERSION "4.0.0")
95+
set(sunmatrixlib_SOVERSION "4")
96+
97+
set(sunlinsollib_VERSION "4.0.0")
98+
set(sunlinsollib_SOVERSION "4")
99+
100+
set(sunnonlinsollib_VERSION "3.0.0")
101+
set(sunnonlinsollib_SOVERSION "3")
102+
103+
set(sundialslib_VERSION
104+
"${PACKAGE_VERSION_MAJOR}.${PACKAGE_VERSION_MINOR}.${PACKAGE_VERSION_PATCH}"
105+
)
106+
set(sundialslib_SOVERSION "${PACKAGE_VERSION_MAJOR}")
107+
108+
# ===============================================================
109+
# Initial Setup
110+
# ===============================================================
111+
112+
# Prohibit in-source build
113+
if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}")
114+
print_error("In-source build prohibited.")
115+
endif()
116+
117+
# Organize targets into folders when using an IDE
118+
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
119+
120+
# Get correct build paths automatically, but expose LIBDIR and
121+
# INCLUDEDIR as a regular cache variable so that a user can more
122+
# easily see what they were set to by GNUInstallDirs.
123+
include(GNUInstallDirs)
124+
mark_as_advanced(CLEAR CMAKE_INSTALL_LIBDIR)
125+
mark_as_advanced(CLEAR CMAKE_INSTALL_INCLUDEDIR)
126+
127+
# Suffixes to use for static and shared targets.
128+
set(_STATIC_LIB_SUFFIX
129+
"_static"
130+
CACHE INTERNAL "" FORCE
131+
)
132+
set(_SHARED_LIB_SUFFIX
133+
"_shared"
134+
CACHE INTERNAL "" FORCE
135+
)
136+
137+
# A list of all the alias targets created.
138+
set(_SUNDIALS_ALIAS_TARGETS ""
139+
CACHE INTERNAL "" FORCE)
140+
141+
# ===============================================================
142+
# Build options to be processed first
143+
# ===============================================================
144+
145+
include(SundialsDeprecated)
146+
include(SundialsBuildOptionsPre)
147+
148+
# ===============================================================
149+
# Options for external packages
150+
# ===============================================================
151+
152+
include(SundialsTPLOptions)
153+
154+
# ===============================================================
155+
# Options for examples
156+
# ===============================================================
157+
158+
include(SundialsExampleOptions)
159+
160+
# ===============================================================
161+
# Setup compilers
162+
# ===============================================================
163+
164+
include(SundialsSetupCompilers)
165+
166+
# ===============================================================
167+
# Setup third-party libraries
168+
# ===============================================================
169+
170+
include(SundialsSetupTPLs)
171+
172+
# ===============================================================
173+
# Build options to be proccessed last
174+
# ===============================================================
175+
176+
include(SundialsBuildOptionsPost)
177+
178+
# ===============================================================
179+
# At this point all the configuration options are set.
180+
# Setup the sundials_config.h.
181+
# ===============================================================
182+
183+
include(SundialsSetupConfig)
184+
185+
# ===============================================================
186+
# Add src and tests; optionally add examples and unit tests.
187+
# ===============================================================
188+
189+
# Add selected packages and modules to the build
190+
add_subdirectory(src)
191+
192+
# Add selected examples to the build
193+
if(_BUILD_EXAMPLES)
194+
include(SundialsSetupTesting)
195+
add_subdirectory(examples)
196+
endif()
197+
198+
# Add benchmarks to the build
199+
if(BUILD_BENCHMARKS)
200+
add_subdirectory(benchmarks)
201+
endif()
202+
203+
# ===============================================================
204+
# Install configuration header files and license file.
205+
# ===============================================================
206+
207+
# install sundials_export header file
208+
install(FILES "${PROJECT_BINARY_DIR}/include/sundials/sundials_export.h"
209+
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/sundials"
210+
)
211+
212+
# install configured header file
213+
install(FILES "${PROJECT_BINARY_DIR}/include/sundials/sundials_config.h"
214+
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/sundials"
215+
)
216+
217+
# install shared Fortran 2003 modules
218+
if(BUILD_FORTRAN_MODULE_INTERFACE)
219+
# While the .mod files get generated for static and shared
220+
# libraries, they are identical. So only install one set
221+
# of the .mod files.
222+
if(BUILD_STATIC_LIBS)
223+
install(DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}_STATIC/
224+
DESTINATION ${Fortran_INSTALL_MODDIR}
225+
)
226+
else()
227+
install(DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}_SHARED/
228+
DESTINATION ${Fortran_INSTALL_MODDIR}
229+
)
230+
endif()
231+
endif()
232+
233+
# install license and notice files
234+
install(FILES "${PROJECT_SOURCE_DIR}/LICENSE"
235+
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/sundials"
236+
)
237+
install(FILES "${PROJECT_SOURCE_DIR}/NOTICE"
238+
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/sundials"
239+
)
240+
241+
# create package version file
242+
include(CMakePackageConfigHelpers)
243+
write_basic_package_version_file(
244+
SUNDIALSConfigVersion.cmake
245+
VERSION ${PACKAGE_VERSION}
246+
COMPATIBILITY SameMajorVersion
247+
)
248+
249+
# install targets
250+
install(
251+
EXPORT sundials-targets
252+
FILE SUNDIALSTargets.cmake
253+
NAMESPACE SUNDIALS::
254+
DESTINATION "${SUNDIALS_INSTALL_CMAKEDIR}"
255+
)
256+
257+
# install SUNDIALSConfig.cmake
258+
configure_package_config_file(
259+
"${PROJECT_SOURCE_DIR}/cmake/SUNDIALSConfig.cmake.in"
260+
"${CMAKE_CURRENT_BINARY_DIR}/SUNDIALSConfig.cmake"
261+
INSTALL_DESTINATION "${SUNDIALS_INSTALL_CMAKEDIR}"
262+
)
263+
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/SUNDIALSConfig.cmake"
264+
"${CMAKE_CURRENT_BINARY_DIR}/SUNDIALSConfigVersion.cmake"
265+
DESTINATION "${SUNDIALS_INSTALL_CMAKEDIR}"
266+
)

lib/sundials_6.0.0/CONTRIBUTING.md

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
# Contributing to SUNDIALS
2+
3+
At this time, the SUNDIALS team does not have the resources to review and take
4+
in large additions to the code or significant new features. Contributions
5+
addressing bug fixes or minor changes are preferred via a pull request to the
6+
[SUNDIALS GitHub repository](https://github.com/LLNL/sundials).
7+
8+
All new contributions to SUNDIALS must be made under the BSD 3-clause license.
9+
See the [LICENSE](./LICENSE) and [NOTICE](./NOTICE) files for details. The
10+
SUNDIALS team will not accept any file previously released under any other open
11+
source license. By submitting code, the contributor gives irreversible consent
12+
to the redistribution and/or modification of the contributed source code.
13+
14+
Please ensure that any pull request includes user guide additions or changes as
15+
appropriate, has been tested, and includes a test for any added features.
16+
17+
Any added files submitted with a pull request must contain a header section at
18+
the top including the originating author's name and file origin date as well as
19+
a pointer to the SUNDIALS LICENSE and NOTICE files.
20+
21+
The act of submitting a pull request (with or without an explicit Signed-off-by
22+
tag) will be understood as an affirmation of the following [Developer's
23+
Certificate of Origin (DCO)](http://developercertificate.org/).
24+
25+
```
26+
Developer Certificate of Origin
27+
Version 1.1
28+
29+
Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
30+
1 Letterman Drive
31+
Suite D4700
32+
San Francisco, CA, 94129
33+
34+
Everyone is permitted to copy and distribute verbatim copies of this
35+
license document, but changing it is not allowed.
36+
37+
38+
Developer's Certificate of Origin 1.1
39+
40+
By making a contribution to this project, I certify that:
41+
42+
(a) The contribution was created in whole or in part by me and I
43+
have the right to submit it under the open source license
44+
indicated in the file; or
45+
46+
(b) The contribution is based upon previous work that, to the best
47+
of my knowledge, is covered under an appropriate open source
48+
license and I have the right under that license to submit that
49+
work with modifications, whether created in whole or in part
50+
by me, under the same open source license (unless I am
51+
permitted to submit under a different license), as indicated
52+
in the file; or
53+
54+
(c) The contribution was provided directly to me by some other
55+
person who certified (a), (b) or (c) and I have not modified
56+
it.
57+
58+
(d) I understand and agree that this project and the contribution
59+
are public and that a record of the contribution (including all
60+
personal information I submit with it, including my sign-off) is
61+
maintained indefinitely and may be redistributed consistent with
62+
this project or the open source license(s) involved.
63+
```
64+
65+
As discussed in the [Docker software project blog](https://blog.docker.com/2014/01/docker-code-contributions-require-developer-certificate-of-origin/)
66+
this DCO "lets us know that you are entitled to contribute this code to
67+
[SUNDIALS] and that you are willing to have it used in distributions and
68+
derivative works."
69+
70+
"By including the DCO signature, you are stating that one or
71+
more of the following is true of your contribution:
72+
73+
1. You created this contribution/change and have the right to submit it
74+
to SUNDIALS; or
75+
2. You created this contribution/change based on a previous work with a
76+
compatible open source license; or
77+
3. This contribution/change has been provided to you by someone who did
78+
1 or 2 and you are submitting the contribution unchanged.
79+
4. You understand this contribution is public and may be redistributed as
80+
open source software" under the BSD license.
81+
82+
All commits submitted to the SUNDIALS project need to have the following sign
83+
off line in the commit message:
84+
```
85+
Signed-off-by: Jane Doe <jdoe@address.com>
86+
```
87+
Replacing Jane Doe’s details with your name and email address.
88+
89+
If you've set `user.name` and `user.email` in your Git configuration, you can
90+
automatically add a sign off line at the end of the commit message by using the
91+
`-s` option (e.g., `git commit -s`).
1.1 MB
Binary file not shown.

0 commit comments

Comments
 (0)