From 99add15c151a3ddbc2e483112422da431ddfe9eb Mon Sep 17 00:00:00 2001 From: "David J. Gardner" Date: Mon, 18 Dec 2023 00:48:04 -0800 Subject: [PATCH] Update Changelog for Release/6.7.0 --- CHANGELOG.md | 58 +++++++++++----------- doc/arkode/guide/source/Introduction.rst | 61 +++++++++++------------- doc/cvode/guide/source/Introduction.rst | 16 +++---- doc/cvodes/guide/source/Introduction.rst | 19 ++++---- doc/ida/guide/source/Introduction.rst | 16 +++---- doc/idas/guide/source/Introduction.rst | 19 ++++---- doc/kinsol/guide/source/Introduction.rst | 12 +++-- 7 files changed, 97 insertions(+), 104 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d87fda53e5..14cdf52f02 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,40 +17,54 @@ release, but for some applications a value of 0 is more appropriate. Users who notice that their simulations encounter a large number of temporal error test failures may want to experiment with adjusting this value. +Added the third order ERK method `ARKODE_SHU_OSHER_3_2_3`, the fourth order +ERK method `ARKODE_SOFRONIOU_SPALETTA_5_3_4`, the sixth order ERK method +`ARKODE_VERNER_9_5_6`, the seventh order ERK method `ARKODE_VERNER_10_6_7`, +the eighth order ERK method `ARKODE_VERNER_13_7_8`, and the ninth order ERK +method `ARKODE_VERNER_16_8_9`. + +ARKStep, ERKStep, MRIStep, and SPRKStep were updated to remove a potentially +unnecessary right-hand side evaluation at the end of an integration. ARKStep was +additionally updated to remove extra right-hand side evaluations when using an +explicit method or an implicit method with an explicit first stage. + +Added Fortran support for the LAPACK dense `SUNLinearSolver` implementation. + +Improved computational complexity of `SUNMatScaleAddI_Sparse` from `O(M*N)` to +`O(NNZ)`. + +Changed the `SUNProfiler` so that it does not rely on `MPI_WTime` in any case. +This fixes [GitHub Issue #312](https://github.com/LLNL/sundials/issues/312). + Fixed a regression introduced by the stop time bug fix in v6.6.1 where ARKODE, CVODE, CVODES, IDA, and IDAS would return at the stop time rather than the requested output time if the stop time was reached in the same step in which the output time was passed. +Fixed a bug in ERKStep where methods with `c[s-1] = 1` but `a[s-1,j] != b[j]` +were incorrectly treated as having the first same as last (FSAL) property. + Fixed a bug in ARKODE where `ARKStepSetInterpolateStopTime` would return an interpolated solution at the stop time in some cases when interpolation was disabled. +Fixed a bug in `MRIStepCoupling_Write` where explicit coupling tables were not +written to the output file pointer. + Fixed a bug in `ARKStepSetTableNum` wherein it did not recognize `ARKODE_ARK2_ERK_3_1_2` and `ARKODE_ARK2_DIRK_3_1_2` as a valid additive Runge--Kutta Butcher table pair. -Renamed some internal types in CVODES and IDAS to allow both packages to be -built together in the same binary. - -Improved computational complexity of `SUNMatScaleAddI_Sparse` from `O(M*N)` to -`O(NNZ)`. +The `MRIStepInnerStepper` class in MRIStep was updated to make supplying an +`MRIStepInnerFullRhsFn` optional. Fixed scaling bug in `SUNMatScaleAddI_Sparse` for non-square matrices. Fixed missing soversions in some `SUNLinearSolver` and `SUNNonlinearSolver` CMake targets. -Added Fortran support for the LAPACK dense `SUNLinearSolver` implementation. - -Added the third order ERK method `ARKODE_SHU_OSHER_3_2_3`, the fourth order -ERK method `ARKODE_SOFRONIOU_SPALETTA_5_3_4`, the sixth order ERK method -`ARKODE_VERNER_9_5_6`, the seventh order ERK method `ARKODE_VERNER_10_6_7`, -the eighth order ERK method `ARKODE_VERNER_13_7_8`, and the ninth order ERK -method `ARKODE_VERNER_16_8_9`. - -Changed the `SUNProfiler` so that it does not rely on `MPI_WTime` in any case. -This fixes https://github.com/LLNL/sundials/issues/312. +Renamed some internal types in CVODES and IDAS to allow both packages to be +built together in the same binary. ## Changes to SUNDIALS in release 6.6.2 @@ -70,20 +84,6 @@ the stop time. Additionally, with ARKODE, CVODE, and CVODES this fix removes an unnecessary interpolation of the solution at the stop time that could occur in this case. -Fixed a bug in ERKStep where methods with `c[s-1] = 1` but `a[s-1,j] != b[j]` -were incorrectly treated as having the first same as last (FSAL) property. - -Fixed a bug in `MRIStepCoupling_Write` where explicit coupling tables were not -written to the output file pointer. - -ARKStep, ERKStep, MRIStep, and SPRKStep were updated to remove a potentially -unnecessary right-hand side evaluation at the end of an integration. ARKStep was -additionally updated to remove extra right-hand side evaluations when using an -explicit method or an implicit method with an explicit first stage. - -The `MRIStepInnerStepper` class in MRIStep was updated to make supplying an -`MRIStepInnerFullRhsFn` optional. - ## Changes to SUNDIALS in release 6.6.0 A new time-stepping module, `SPRKStep`, was added to ARKODE. This time-stepper diff --git a/doc/arkode/guide/source/Introduction.rst b/doc/arkode/guide/source/Introduction.rst index a6fdfb65d5..68f6a69ce6 100644 --- a/doc/arkode/guide/source/Introduction.rst +++ b/doc/arkode/guide/source/Introduction.rst @@ -130,12 +130,12 @@ provided with SUNDIALS, or again may utilize a user-supplied module. Changes from previous versions ============================== -Changes in v6.7.0 +Changes in v5.7.0 ----------------- Added the :c:type:`SUNAdaptController` base class, ported ARKODE's internal implementations of time step controllers into implementations of this class, -and updated ARKODE to use these objects instead of its own implementations. Added +and updated ARKODE to use these objects instead of its own implementations. Added :c:func:`ARKStepSetAdaptController` and :c:func:`ERKStepSetAdaptController` routines so that users can modify controller parameters, or even provide custom implementations. @@ -148,40 +148,52 @@ release, but for some applications a value of :math:`0` is more appropriate. Users who notice that their simulations encounter a large number of temporal error test failures may want to experiment with adjusting this value. -Fixed the build system support for MAGMA when using a NVIDIA HPC SDK installation of CUDA -and fixed the targets used for rocBLAS and rocSPARSE. +Added the third order ERK method ``ARKODE_SHU_OSHER_3_2_3``, the fourth order +ERK method ``ARKODE_SOFRONIOU_SPALETTA_5_3_4``, the sixth order ERK method +``ARKODE_VERNER_9_5_6``, the seventh order ERK method ``ARKODE_VERNER_10_6_7``, +the eighth order ERK method ``ARKODE_VERNER_13_7_8``, and the ninth order ERK +method ``ARKODE_VERNER_16_8_9``. + +ARKStep, ERKStep, MRIStep, and SPRKStep were updated to remove a potentially +unnecessary right-hand side evaluation at the end of an integration. ARKStep was +additionally updated to remove extra right-hand side evaluations when using an +explicit method or an implicit method with an explicit first stage. + +Added Fortran support for the LAPACK dense ``SUNLinearSolver`` implementation. + +Improved computational complexity of ``SUNMatScaleAddI_Sparse`` from ``O(M*N)`` +to ``O(NNZ)``. + +Changed the ``SUNProfiler`` so that it does not rely on ``MPI_WTime`` in any case. +This fixes `GitHub Issue #312 `_. Fixed a regression introduced by the stop time bug fix in v6.6.1 where ARKODE steppers would return at the stop time rather than the requested output time if the stop time was reached in the same step in which the output time was passed. +Fixed a bug in ERKStep where methods with :math:`c_s = 1` but +:math:`a_{s,j} \neq b_j` were incorrectly treated as having the first same as +last (FSAL) property. + Fixed a bug in ARKODE where :c:func:`ARKStepSetInterpolateStopTime` would return an interpolated solution at the stop time in some cases when interpolation was disabled. +Fixed a bug in :c:func:`MRIStepCoupling_Write` where explicit coupling tables +were not written to the output file pointer. + Fixed a bug in :c:func:`ARKStepSetTableNum` wherein it did not recognize `ARKODE_ARK2_ERK_3_1_2` and `ARKODE_ARK2_DIRK_3_1_2` as a valid additive Runge--Kutta Butcher table pair. -Improved computational complexity of ``SUNMatScaleAddI_Sparse`` from ``O(M*N)`` -to ``O(NNZ)``. +The :c:type:`MRIStepInnerStepper` class in MRIStep was updated to make supplying +an :c:func:`MRIStepInnerFullRhsFn` optional. Fixed scaling bug in ``SUNMatScaleAddI_Sparse`` for non-square matrices. Fixed missing soversions in some ``SUNLinearSolver`` and ``SUNNonlinearSolver`` CMake targets. -Added the third order ERK method ``ARKODE_SHU_OSHER_3_2_3``, the fourth order -ERK method ``ARKODE_SOFRONIOU_SPALETTA_5_3_4``, the sixth order ERK method -``ARKODE_VERNER_9_5_6``, the seventh order ERK method ``ARKODE_VERNER_10_6_7``, -the eighth order ERK method ``ARKODE_VERNER_13_7_8``, and the ninth order ERK -method ``ARKODE_VERNER_16_8_9``. - -Changed the ``SUNProfiler`` so that it does not rely on ``MPI_WTime`` in any case. -This fixes `GitHub Issue #312 `_. - -Added Fortran support for the LAPACK dense ``SUNLinearSolver`` implementation. - Changes in v5.6.2 ----------------- @@ -201,21 +213,6 @@ requested output time is the same as the stop time. Additionally, this fix removes an unnecessary interpolation of the solution at the stop time that could occur in this case. -Fixed a bug in ERKStep where methods with :math:`c_s = 1` but -:math:`a_{s,j} \neq b_j` were incorrectly treated as having the first same as -last (FSAL) property. - -Fixed a bug in :c:func:`MRIStepCoupling_Write` where explicit coupling tables -were not written to the output file pointer. - -ARKStep, ERKStep, MRIStep, and SPRKStep were updated to remove a potentially -unnecessary right-hand side evaluation at the end of an integration. ARKStep was -additionally updated to remove extra right-hand side evaluations when using an -explicit method or an implicit method with an explicit first stage. - -The :c:type:`MRIStepInnerStepper` class in MRIStep was updated to make supplying -an :c:func:`MRIStepInnerFullRhsFn` optional. - Changes in v5.6.0 ----------------- diff --git a/doc/cvode/guide/source/Introduction.rst b/doc/cvode/guide/source/Introduction.rst index ae82821b6c..d82838effa 100644 --- a/doc/cvode/guide/source/Introduction.rst +++ b/doc/cvode/guide/source/Introduction.rst @@ -114,23 +114,23 @@ Changes from previous versions Changes in v6.7.0 ----------------- -Fixed a regression introduced by the stop time bug fix in v6.6.1 where CVODE -would return at the stop time rather than the requested output time if the stop -time was reached in the same step in which the output time was passed. +Added Fortran support for the LAPACK dense ``SUNLinearSolver`` implementation. Improved computational complexity of ``SUNMatScaleAddI_Sparse`` from ``O(M*N)`` to ``O(NNZ)``. +Changed the ``SUNProfiler`` so that it does not rely on ``MPI_WTime`` in any case. +This fixes `GitHub Issue #312 `_. + +Fixed a regression introduced by the stop time bug fix in v6.6.1 where CVODE +would return at the stop time rather than the requested output time if the stop +time was reached in the same step in which the output time was passed. + Fixed scaling bug in ``SUNMatScaleAddI_Sparse`` for non-square matrices. Fixed missing soversions in some ``SUNLinearSolver`` and ``SUNNonlinearSolver`` CMake targets. -Changed the ``SUNProfiler`` so that it does not rely on ``MPI_WTime`` in any case. -This fixes `GitHub Issue #312 `_. - -Added Fortran support for the LAPACK dense ``SUNLinearSolver`` implementation. - Changes in v6.6.2 ----------------- diff --git a/doc/cvodes/guide/source/Introduction.rst b/doc/cvodes/guide/source/Introduction.rst index 7e98f9c381..a45e580341 100644 --- a/doc/cvodes/guide/source/Introduction.rst +++ b/doc/cvodes/guide/source/Introduction.rst @@ -114,26 +114,23 @@ Changes from previous versions Changes in v6.7.0 ----------------- -Fixed a regression introduced by the stop time bug fix in v6.6.1 where CVODES -would return at the stop time rather than the requested output time if the stop -time was reached in the same step in which the output time was passed. - -Renamed some internal types in CVODES and IDAS to allow both packages to be -built together in the same binary. +Added Fortran support for the LAPACK dense ``SUNLinearSolver`` implementation. Improved computational complexity of ``SUNMatScaleAddI_Sparse`` from ``O(M*N)`` to ``O(NNZ)``. +Changed the ``SUNProfiler`` so that it does not rely on ``MPI_WTime`` in any case. +This fixes `GitHub Issue #312 `_. + +Fixed a regression introduced by the stop time bug fix in v6.6.1 where CVODES +would return at the stop time rather than the requested output time if the stop +time was reached in the same step in which the output time was passed. + Fixed scaling bug in ``SUNMatScaleAddI_Sparse`` for non-square matrices. Fixed missing soversions in some ``SUNLinearSolver`` and ``SUNNonlinearSolver`` CMake targets. -Changed the ``SUNProfiler`` so that it does not rely on ``MPI_WTime`` in any case. -This fixes `GitHub Issue #312 `_. - -Added Fortran support for the LAPACK dense ``SUNLinearSolver`` implementation. - Changes in v6.6.2 ----------------- diff --git a/doc/ida/guide/source/Introduction.rst b/doc/ida/guide/source/Introduction.rst index 70845d51f3..89845ba801 100644 --- a/doc/ida/guide/source/Introduction.rst +++ b/doc/ida/guide/source/Introduction.rst @@ -75,23 +75,23 @@ Changes from previous versions Changes in v6.7.0 ----------------- -Fixed a regression introduced by the stop time bug fix in v6.6.1 where IDA would -return at the stop time rather than the requested output time if the stop time -was reached in the same step in which the output time was passed. +Added Fortran support for the LAPACK dense ``SUNLinearSolver`` implementation. Improved computational complexity of ``SUNMatScaleAddI_Sparse`` from ``O(M*N)`` to ``O(NNZ)``. +Changed the ``SUNProfiler`` so that it does not rely on ``MPI_WTime`` in any case. +This fixes `GitHub Issue #312 `_. + +Fixed a regression introduced by the stop time bug fix in v6.6.1 where IDA +would return at the stop time rather than the requested output time if the stop +time was reached in the same step in which the output time was passed. + Fixed scaling bug in ``SUNMatScaleAddI_Sparse`` for non-square matrices. Fixed missing soversions in some ``SUNLinearSolver`` and ``SUNNonlinearSolver`` CMake targets. -Changed the ``SUNProfiler`` so that it does not rely on ``MPI_WTime`` in any case. -This fixes `GitHub Issue #312 `_. - -Added Fortran support for the LAPACK dense ``SUNLinearSolver`` implementation. - Changes in v6.6.2 ----------------- diff --git a/doc/idas/guide/source/Introduction.rst b/doc/idas/guide/source/Introduction.rst index a8405934a0..8f4699384f 100644 --- a/doc/idas/guide/source/Introduction.rst +++ b/doc/idas/guide/source/Introduction.rst @@ -89,26 +89,23 @@ Changes from previous versions Changes in v5.7.0 ----------------- -Fixed a regression introduced by the stop time bug fix in v6.6.1 where IDAS -would return at the stop time rather than the requested output time if the stop -time was reached in the same step in which the output time was passed. - -Renamed some internal types in CVODES and IDAS to allow both packages to be -built together in the same binary. +Added Fortran support for the LAPACK dense ``SUNLinearSolver`` implementation. Improved computational complexity of ``SUNMatScaleAddI_Sparse`` from ``O(M*N)`` to ``O(NNZ)``. +Changed the ``SUNProfiler`` so that it does not rely on ``MPI_WTime`` in any case. +This fixes `GitHub Issue #312 `_. + +Fixed a regression introduced by the stop time bug fix in v6.6.1 where IDAS +would return at the stop time rather than the requested output time if the stop +time was reached in the same step in which the output time was passed. + Fixed scaling bug in ``SUNMatScaleAddI_Sparse`` for non-square matrices. Fixed missing soversions in some ``SUNLinearSolver`` and ``SUNNonlinearSolver`` CMake targets. -Changed the ``SUNProfiler`` so that it does not rely on ``MPI_WTime`` in any case. -This fixes `GitHub Issue #312 `_. - -Added Fortran support for the LAPACK dense ``SUNLinearSolver`` implementation. - Changes in v5.6.2 ----------------- diff --git a/doc/kinsol/guide/source/Introduction.rst b/doc/kinsol/guide/source/Introduction.rst index 53d6dd66cd..cd8d33bb0b 100644 --- a/doc/kinsol/guide/source/Introduction.rst +++ b/doc/kinsol/guide/source/Introduction.rst @@ -91,17 +91,19 @@ Changes from previous versions Changes in v6.7.0 ----------------- -Improved computational complexity of ``SUNMatScaleAddI_Sparse`` from ``O(M*N)`` to -``O(NNZ)``. +Added Fortran support for the LAPACK dense ``SUNLinearSolver`` implementation. + +Improved computational complexity of ``SUNMatScaleAddI_Sparse`` from ``O(M*N)`` +to ``O(NNZ)``. + +Changed the ``SUNProfiler`` so that it does not rely on ``MPI_WTime`` in any case. +This fixes `GitHub Issue #312 `_. Fixed scaling bug in ``SUNMatScaleAddI_Sparse`` for non-square matrices. Fixed missing soversions in some ``SUNLinearSolver`` and ``SUNNonlinearSolver`` CMake targets. -Added Fortran support for the LAPACK dense ``SUNLinearSolver`` implementation. - - Changes in v6.6.2 -----------------