Skip to content

Commit e5eec3d

Browse files
gardner48balos1
andauthored
Release/7.0.0-rc.1 (#404)
* regenerate f2003 interfaces * update version numbers * update hashes in git-blame-ignore-revs * update changelog --------- Co-authored-by: Cody Balos <[email protected]>
1 parent 273fe38 commit e5eec3d

File tree

1,797 files changed

+2720
-2535
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,797 files changed

+2720
-2535
lines changed

.git-blame-ignore-revs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
1-
78770ef9b40fb163bf6d0fd582b6a449f0298585
2-
e75d0c03345b230def5713cda2e1b2748171634b
1+
# Apply formatting across sundials
2+
fab1cecb7d91cff53b31730af5d00ff154c3b6ce
3+
# Remove deprecated types in 7.0.0
4+
cc6960349aa92e2bcad9168a6dacff99b21c329c

CHANGELOG.md

Lines changed: 83 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,64 @@
11
# SUNDIALS Changelog
22

3-
## Changes to SUNDIALS in release X.X.X
3+
## Changes to SUNDIALS in release 7.0.0-rc.1
44

5-
The previously deprecated types `realtype` and `booleantype` were removed from `sundials_types.h`
6-
and replaced with `sunrealtype` and `sunbooleantype`. The deprecated names for these types
7-
can be used by including the header file `sundials_types_deprecated.h` but will be fully removed in the
8-
next major release.
5+
⚠️ This is a release candidate.
6+
7+
### Major Feature
98

10-
**Major feature**
119
SUNDIALS now has more robust and uniform error handling. Non-release builds will
12-
be built with additional error checking by default. See the "Error Handling"
10+
be built with additional error checking by default. See the
11+
[Error Checking](https://sundials.readthedocs.io/en/latest/sundials/Errors_link.html)
1312
section in the user guide for details.
1413

15-
**Deprecation notice**
16-
The functions in `sundials_math.h` will be deprecated in the next release.
17-
18-
```c
19-
sunrealtype SUNRpowerI(sunrealtype base, int exponent);
20-
sunrealtype SUNRpowerR(sunrealtype base, sunrealtype exponent);
21-
sunbooleantype SUNRCompare(sunrealtype a, sunrealtype b);
22-
sunbooleantype SUNRCompareTol(sunrealtype a, sunrealtype b, sunrealtype tol);
23-
sunrealtype SUNStrToReal(const char* str);
24-
```
25-
26-
Additionally, the following header files (and everything in them) will be deprecated -- users who
27-
rely on these are recommended to transition to the corresponding `SUNMatrix` and `SUNLinearSolver`
28-
modules:
29-
30-
```
31-
sundials_direct.h
32-
sundials_dense.h
33-
sundials_band.h
34-
```
35-
36-
**Breaking change**
37-
The following functions have had their signature updated to ensure they can leverage
38-
the new SUNDIALS error handling capabilties.
14+
### Breaking Changes
15+
16+
#### Deprecated Types and Functions Removed
17+
18+
The previously deprecated types `realtype` and `booleantype` were removed from
19+
`sundials_types.h` and replaced with `sunrealtype` and `sunbooleantype`. The
20+
deprecated names for these types can be used by including the header file
21+
`sundials_types_deprecated.h` but will be fully removed in the next major
22+
release. Functions, types and header files that were previously deprecated have
23+
also been removed.
24+
25+
#### Error Handling Changes
26+
27+
With the addition of the new error handling capability, the `*SetErrHandlerFn`
28+
and `*SetErrFile` functions in CVODE(S), IDA(S), ARKODE, and KINSOL have been
29+
removed. Users of these functions can use the functions
30+
`SUNContext_PushErrHandler`, and `SUNLogger_SetErrorFilename` instead. For
31+
further details see the
32+
[Error Checking](https://sundials.readthedocs.io/en/latest/sundials/Errors_link.html)
33+
and
34+
[Logging](https://sundials.readthedocs.io/en/latest/sundials/Logging_link.html)
35+
sections in the documentation.
36+
37+
In addition the following names/symbols were replaced by ``SUN_ERR_*`` codes:
38+
39+
| Removed | Replaced with ``SUNErrCode`` |
40+
|:-------------------------------|:----------------------------------|
41+
| `SUNLS_SUCCESS` | `SUN_SUCCESS` |
42+
| `SUNLS_UNRECOV_FAILURE` | no replacement (value was unused) |
43+
| `SUNLS_MEM_NULL` | `SUN_ERR_ARG_CORRUPT` |
44+
| `SUNLS_ILL_INPUT` | `SUN_ERR_ARG_*` |
45+
| `SUNLS_MEM_FAIL` | `SUN_ERR_MEM_FAIL` |
46+
| `SUNLS_PACKAGE_FAIL_UNREC` | `SUN_ERR_EXT_FAIL` |
47+
| `SUNLS_VECTOROP_ERR` | `SUN_ERR_OP_FAIL` |
48+
| `SUN_NLS_SUCCESS` | `SUN_SUCCESS` |
49+
| `SUN_NLS_MEM_NULL` | `SUN_ERR_ARG_CORRUPT` |
50+
| `SUN_NLS_MEM_FAIL` | `SUN_ERR_MEM_FAIL` |
51+
| `SUN_NLS_ILL_INPUT` | `SUN_ERR_ARG_*` |
52+
| `SUN_NLS_VECTOROP_ERR` | `SUN_ERR_OP_FAIL` |
53+
| `SUN_NLS_EXT_FAIL` | `SUN_ERR_EXT_FAIL` |
54+
| `SUNMAT_SUCCESS` | `SUN_SUCCESS` |
55+
| `SUNMAT_ILL_INPUT` | `SUN_ERR_ARG_*` |
56+
| `SUNMAT_MEM_FAIL` | `SUN_ERR_MEM_FAIL` |
57+
| `SUNMAT_OPERATION_FAIL` | `SUN_ERR_OP_FAIL` |
58+
| `SUNMAT_MATVEC_SETUP_REQUIRED` | `SUN_ERR_OP_FAIL` |
59+
60+
The following functions have had their signature updated to ensure they can
61+
leverage the new SUNDIALS error handling capabilities.
3962

4063
```c
4164
// From sundials_futils.h
@@ -51,18 +74,18 @@ SUNMemoryHelper_Wrap
5174
N_VNewVectorArray
5275
```
5376

54-
**Breaking change**
77+
#### SUNComm Type Added
78+
5579
We have replaced the use of a type-erased (i.e., `void*`) pointer to a
5680
communicator in place of `MPI_Comm` throughout the SUNDIALS API with a
5781
`SUNComm`, which is just a typedef to an `int` in builds without MPI
58-
and a typedef to a `MPI_Comm` in builds with MPI. Here is what this means:
82+
and a typedef to a `MPI_Comm` in builds with MPI. As a result:
5983

6084
- All users will need to update their codes because the call to
6185
`SUNContext_Create` now takes a `SUNComm` instead
6286
of type-erased pointer to a communicator. For non-MPI codes,
6387
pass `SUN_COMM_NULL` to the `comm` argument instead of
6488
`NULL`. For MPI codes, pass the `MPI_Comm` directly.
65-
The required change should be doable with a find-and-replace.
6689

6790
- The same change must be made for calls to
6891
`SUNLogger_Create` or `SUNProfiler_Create`.
@@ -78,45 +101,35 @@ The SUNLogger is now always MPI-aware if MPI is enabled in SUNDIALS and the
78101
`SUNDIALS_LOGGING_ENABLE_MPI` CMake option and macro definition were removed
79102
accordingly.
80103

81-
**Breaking change**
82-
Functions, types and header files that were previously deprecated have been
83-
removed. In addition the following names/symbols were replaced by ``SUN_ERR_*``
84-
codes instead:
104+
#### SUNDIALS Core Library
85105

86-
```
87-
SUNLS_SUCCESS --> SUN_SUCCESS
88-
SUNLS_UNRECOV_FAILURE --> no replacement (this value was unused)
89-
SUNLS_MEM_NULL --> SUN_ERR_ARG_CORRUPT
90-
SUNLS_ILL_INPUT --> SUN_ERR_ARG_*
91-
SUNLS_MEM_FAIL --> SUN_ERR_MEM_FAIL
92-
SUNLS_PACKAGE_FAIL_UNREC --> SUN_ERR_EXT_FAIL
93-
SUNLS_VECTOROP_ERR --> SUN_ERR_OP_FAIL
94-
SUN_NLS_SUCCESS --> SUN_SUCCESS
95-
SUN_NLS_MEM_NULL --> SUN_ERR_ARG_CORRUPT
96-
SUN_NLS_MEM_FAIL --> SUN_ERR_MEM_FAIL
97-
SUN_NLS_ILL_INPUT --> SUN_ERR_ARG_*
98-
SUN_NLS_VECTOROP_ERR --> SUN_ERR_OP_FAIL
99-
SUN_NLS_EXT_FAIL --> SUN_ERR_EXT_FAIL
100-
SUNMAT_SUCCESS --> SUN_SUCCESS
101-
SUNMAT_ILL_INPUT --> SUN_ERR_ARG_*
102-
SUNMAT_MEM_FAIL --> SUN_ERR_MEM_FAIL
103-
SUNMAT_OPERATION_FAIL --> SUN_ERR_OP_FAIL
104-
SUNMAT_MATVEC_SETUP_REQUIRED --> SUN_ERR_OP_FAIL
106+
Users now need to link to `sundials_core` in addition to the libraries already
107+
linked to. This will be picked up automatically in projects that use the
108+
SUNDIALS CMake target. The library `sundials_generic` has been superseded by
109+
`sundials_core` and is no longer available. This fixes some duplicate symbol
110+
errors on Windows when linking to multiple SUNDIALS libraries.
111+
112+
### Deprecation notice
113+
114+
The functions in `sundials_math.h` will be deprecated in the next release.
115+
116+
```c
117+
sunrealtype SUNRpowerI(sunrealtype base, int exponent);
118+
sunrealtype SUNRpowerR(sunrealtype base, sunrealtype exponent);
119+
sunbooleantype SUNRCompare(sunrealtype a, sunrealtype b);
120+
sunbooleantype SUNRCompareTol(sunrealtype a, sunrealtype b, sunrealtype tol);
121+
sunrealtype SUNStrToReal(const char* str);
105122
```
106123
107-
**Breaking change**
108-
Users now need to link to `sundials_core` in addition to the libraries already linked to.
109-
This will be picked up automatically in projects that use the SUNDIALS CMake target.
110-
The library `sundials_generic` has been superseded by `sundials_core` and is no longer available.
111-
This fixes some duplicate symbol errors on Windows when linking to multiple SUNDIALS libraries.
112-
113-
**Breaking change**
114-
The `*SetErrHandlerFn` and `*SetErrFile` functions in CVODE(S), IDA(S), ARKODE and KINSOL have been
115-
removed. Users of these functions can use the functions `SUNContext_PushErrHandler`, and
116-
`SUNLogger_SetErrorFilename` instead. For further details see the [Error
117-
Checking](https://sundials.readthedocs.io/en/latest/sundials/Errors_link.html) and
118-
[Logging](https://sundials.readthedocs.io/en/latest/sundials/Logging_link.html) sections in the
119-
documentation.
124+
Additionally, the following header files (and everything in them) will be
125+
deprecated -- users who rely on these are recommended to transition to the
126+
corresponding `SUNMatrix` and `SUNLinearSolver` modules:
127+
128+
```c
129+
sundials_direct.h
130+
sundials_dense.h
131+
sundials_band.h
132+
```
120133

121134
## Changes to SUNDIALS in release 6.7.0
122135

CITATIONS.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -65,52 +65,52 @@ they are using rather than the combined SUNDIALS online guide:
6565
@Misc{arkodeDocumentation,
6666
author = {Daniel R. Reynolds and David J. Gardner and Carol S. Woodward and Cody J. Balos},
6767
title = {User Documentation for ARKODE},
68-
year = {2023},
69-
note = {v5.7.0}
68+
year = {2024},
69+
note = {v6.0.0-rc.1}
7070
}
7171
```
7272

7373
```bibtex
7474
@Misc{cvodeDocumentation,
7575
author = {Alan C. Hindmarsh and Radu Serban and Cody J. Balos and David J. Gardner and Daniel R. Reynolds and Carol S. Woodward},
7676
title = {User Documentation for CVODE},
77-
year = {2023},
78-
note = {v6.7.0}
77+
year = {2024},
78+
note = {v7.0.0-rc.1}
7979
}
8080
```
8181

8282
```bibtex
8383
@Misc{cvodesDocumentation,
8484
author = {Alan C. Hindmarsh and Radu Serban and Cody J. Balos and David J. Gardner and Daniel R. Reynolds and Carol S. Woodward},
8585
title = {User Documentation for CVODES},
86-
year = {2023},
87-
note = {v6.7.0}
86+
year = {2024},
87+
note = {v7.0.0-rc.1}
8888
}
8989
```
9090

9191
```bibtex
9292
@Misc{idaDocumentation,
9393
author = {Alan C. Hindmarsh and Radu Serban and Cody J. Balos and David J. Gardner and Daniel R. Reynolds and Carol S. Woodward},
9494
title = {User Documentation for IDA},
95-
year = {2023},
96-
note = {v6.7.0}
95+
year = {2024},
96+
note = {v7.0.0-rc.1}
9797
}
9898
```
9999

100100
```bibtex
101101
@Misc{idasDocumentation,
102102
author = {Radu Serban and Cosmin Petra and Alan C. Hindmarsh and Cody J. Balos and David J. Gardner and Daniel R. Reynolds and Carol S. Woodward},
103103
title = {User Documentation for IDAS},
104-
year = {2023},
105-
note = {v5.7.0}
104+
year = {2024},
105+
note = {v6.0.0-rc.1}
106106
}
107107
```
108108

109109
```bibtex
110110
@Misc{kinsolDocumentation,
111111
author = {Alan C. Hindmarsh and Radu Serban and Cody J. Balos and David J. Gardner and Daniel R. Reynolds and Carol S. Woodward},
112112
title = {User Documentation for KINSOL},
113-
year = {2023},
114-
note = {v6.7.0}
113+
year = {2024},
114+
note = {v7.0.0-rc.1}
115115
}
116116
```

CMakeLists.txt

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# and Slaven Peles @ LLNL
44
# ---------------------------------------------------------------
55
# SUNDIALS Copyright Start
6-
# Copyright (c) 2002-2023, Lawrence Livermore National Security
6+
# Copyright (c) 2002-2024, Lawrence Livermore National Security
77
# and Southern Methodist University.
88
# All rights reserved.
99
#
@@ -43,18 +43,18 @@ include(FindPackageHandleStandardArgs)
4343
# Set some variables with info on the SUNDIALS project
4444
set(PACKAGE_BUGREPORT "[email protected]")
4545
set(PACKAGE_NAME "SUNDIALS")
46-
set(PACKAGE_STRING "SUNDIALS 6.7.0")
46+
set(PACKAGE_STRING "SUNDIALS 7.0.0-rc.1")
4747
set(PACKAGE_TARNAME "sundials")
4848

4949
# Set SUNDIALS version numbers
5050
sundials_git_version() # sets SUNDIALS_GIT_VERSION
5151
message(STATUS "SUNDIALS_GIT_VERSION: ${SUNDIALS_GIT_VERSION}")
5252

5353
# (use "" for the version label if none is needed)
54-
set(PACKAGE_VERSION_MAJOR "6")
55-
set(PACKAGE_VERSION_MINOR "7")
54+
set(PACKAGE_VERSION_MAJOR "7")
55+
set(PACKAGE_VERSION_MINOR "0")
5656
set(PACKAGE_VERSION_PATCH "0")
57-
set(PACKAGE_VERSION_LABEL "")
57+
set(PACKAGE_VERSION_LABEL "rc.1")
5858

5959
if(PACKAGE_VERSION_LABEL)
6060
set(PACKAGE_VERSION
@@ -68,38 +68,38 @@ endif()
6868

6969
# Specify the VERSION and SOVERSION for shared libraries
7070

71-
set(arkodelib_VERSION "5.7.0")
72-
set(arkodelib_SOVERSION "5")
71+
set(arkodelib_VERSION "6.0.0-rc.1")
72+
set(arkodelib_SOVERSION "6")
7373

74-
set(cvodelib_VERSION "6.7.0")
75-
set(cvodelib_SOVERSION "6")
74+
set(cvodelib_VERSION "7.0.0-rc.1")
75+
set(cvodelib_SOVERSION "7")
7676

77-
set(cvodeslib_VERSION "6.7.0")
78-
set(cvodeslib_SOVERSION "6")
77+
set(cvodeslib_VERSION "7.0.0-rc.1")
78+
set(cvodeslib_SOVERSION "7")
7979

80-
set(idalib_VERSION "6.7.0")
81-
set(idalib_SOVERSION "6")
80+
set(idalib_VERSION "7.0.0-rc.1")
81+
set(idalib_SOVERSION "7")
8282

83-
set(idaslib_VERSION "5.7.0")
84-
set(idaslib_SOVERSION "5")
83+
set(idaslib_VERSION "6.0.0-rc.1")
84+
set(idaslib_SOVERSION "6")
8585

86-
set(kinsollib_VERSION "6.7.0")
87-
set(kinsollib_SOVERSION "6")
86+
set(kinsollib_VERSION "7.0.0-rc.1")
87+
set(kinsollib_SOVERSION "7")
8888

8989
set(cpodeslib_VERSION "0.0.0")
9090
set(cpodeslib_SOVERSION "0")
9191

92-
set(nveclib_VERSION "6.7.0")
93-
set(nveclib_SOVERSION "6")
92+
set(nveclib_VERSION "7.0.0-rc.1")
93+
set(nveclib_SOVERSION "7")
9494

95-
set(sunmatrixlib_VERSION "4.7.0")
96-
set(sunmatrixlib_SOVERSION "4")
95+
set(sunmatrixlib_VERSION "5.0.0-rc.1")
96+
set(sunmatrixlib_SOVERSION "5")
9797

98-
set(sunlinsollib_VERSION "4.7.0")
99-
set(sunlinsollib_SOVERSION "4")
98+
set(sunlinsollib_VERSION "5.0.0-rc.1")
99+
set(sunlinsollib_SOVERSION "5")
100100

101-
set(sunnonlinsollib_VERSION "3.7.0")
102-
set(sunnonlinsollib_SOVERSION "3")
101+
set(sunnonlinsollib_VERSION "4.0.0-rc.1")
102+
set(sunnonlinsollib_SOVERSION "4")
103103

104104
set(sundialslib_VERSION
105105
"${PACKAGE_VERSION_MAJOR}.${PACKAGE_VERSION_MINOR}.${PACKAGE_VERSION_PATCH}"

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
BSD 3-Clause License
22

3-
Copyright (c) 2002-2023, Lawrence Livermore National Security and Southern Methodist University.
3+
Copyright (c) 2002-2024, Lawrence Livermore National Security and Southern Methodist University.
44
All rights reserved.
55

66
Redistribution and use in source and binary forms, with or without

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# SUNDIALS: SUite of Nonlinear and DIfferential/ALgebraic equation Solvers #
2-
### Version 6.7.0 (Dec 2023) ###
2+
### Version 7.0.0-rc.1 (Jan 2024) ###
33

44
**Center for Applied Scientific Computing, Lawrence Livermore National Laboratory**
55

benchmarks/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# Programmer(s): Cody J. Balos @ LLNL
33
# ---------------------------------------------------------------
44
# SUNDIALS Copyright Start
5-
# Copyright (c) 2002-2023, Lawrence Livermore National Security
5+
# Copyright (c) 2002-2024, Lawrence Livermore National Security
66
# and Southern Methodist University.
77
# All rights reserved.
88
#

benchmarks/advection_reaction_3D/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# Programmer(s): Daniel R. Reynolds @ SMU
33
# ---------------------------------------------------------------
44
# SUNDIALS Copyright Start
5-
# Copyright (c) 2002-2023, Lawrence Livermore National Security
5+
# Copyright (c) 2002-2024, Lawrence Livermore National Security
66
# and Southern Methodist University.
77
# All rights reserved.
88
#

benchmarks/advection_reaction_3D/kokkos/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# Programmer(s): Daniel R. Reynolds @ SMU
33
# ---------------------------------------------------------------
44
# SUNDIALS Copyright Start
5-
# Copyright (c) 2002-2023, Lawrence Livermore National Security
5+
# Copyright (c) 2002-2024, Lawrence Livermore National Security
66
# and Southern Methodist University.
77
# All rights reserved.
88
#

0 commit comments

Comments
 (0)