Skip to content

Commit

Permalink
Maintenance: Add old releases to changelog (#402)
Browse files Browse the repository at this point in the history
Add releases before 3.0 to top-level change log

---------

Co-authored-by: David Gardner <[email protected]>
  • Loading branch information
balos1 and gardner48 committed Dec 18, 2023
1 parent bb79e3d commit 273fe38
Showing 1 changed file with 193 additions and 0 deletions.
193 changes: 193 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2055,3 +2055,196 @@ Corrected KINSOL fcmix name translation for `FKIN_SPFGMR`.
Renamed `KINLocalFn` and `KINCommFn` to `KINBBDLocalFn` and `KINBBDCommFn`
respectively in the BBD preconditioner module for consistency with other
SUNDIALS solvers.

## Changes to SUNDIALS in release v2.7.0

- Two new NVECTOR modules added: for _hypre_ ParVector and PETSC.
- In vector API, added new required function, N\_VGetVectorID.
- Upgrades to sparse solver interfaces; now support CSR matrix type with KLU solver.
- In all packages, example codes were changed from using NV\_DATA macro to using N\_VGetArrayPointer\_\* when using the native vectors shipped with SUNDIALS
- In all packages, fixed memory leak in banded preconditioner interface.
- Fixed some examples w.r.t. switch to new macro/function names SUNRexp etc.
- Various minor fixes to installation-related files.
- Corrected name N\_VCloneEmptyVectorArray to N\_VCloneVectorArrayEmpty in all documentation files.
- Updated all packages to return integers from linear solver and preconditioner 'free' functions.
- Removed Matlab interface from distribution as it has not been updated since 2009. We expect to update this interface soon.
- In FKINSOL, FCVODE, and FIDA, added missing Fortran interface routines so that users can supply the sparse Jacobian routine.
- Minor corrections and additions to all User Guides, including removal of references to specific NVECTOR names in usage skeletons.
- Additional example programs added throughout.
- In CVODE
- in FCVODE, fixed argument order bugs in FCVKLU and FCVSUPERLUMT linear solver interfaces.
- In CVODES
- changed each \*\*FreeB() to type int; added return(0) to each.
- in interpolation routines for backward problems, added logic to bypass sensitivity interpolation if input sensitivity argument is NULL.
- In ARKODE
- updated linear and mass matrix solvers so that 'free' routines return integer instead of void; updated documentation accordingly.
- fixed initialization of linear solver performance counters.
- method and embedding for Billington and TRBDF2 explicit Runge-Kutta methods were swapped.
- fix for user specification of absolute tolerance array along with vector Resize() functionality.
- fix for user-supplied Butcher tables without embeddings (if fixed time steps or manual adaptivity are employed).
- multiple documentation updates.
- added missing ARKSpilsGetNumMtimesEvals() function.
- implicit predictor algorithms were updated: methods 2 and 3 were improved, a new predictor approach was added, and the default choice was modified.
- revised handling of integer codes for specifying built-in Butcher tables: a global numbering system is still used, but methods now have #defined names to simplify the user interface.
- maximum number of Butcher table stages was increased from 8 to 15 to accommodate very high-order methods, and an 8th-order adaptive ERK method was added.
- added support for the explicit and implicit methods in an additive Runge-Kutta method to utilize different stage times, solution and embedding coefficients, to support new SSP-ARK methods.
- extended FARKODE interface to include a routine to set scalar/array-valued residual tolerances, to support Fortran applications with non-identity mass-matrices.
- In IDA
- corrected example idaFoodWeb\_bnd.c in PrintOutput (wrong component printed).
- added optional input function IDASetMaxBacksIC to limit number of linesearch backtrack operations in IDACalcIC. User guides amended accordingly.
- In IDAS
- added optional input function IDASetMaxBacksIC to limit number of linesearch backtrack operations in IDACalcIC. User guides amended accordingly.
- changed each \*\*FreeB() to type int; added return(0) to each.
- in interpolation routines for backward problems, added logic to bypass sensitivity interpolation if input sensitivity argument is NULL.
- In KINSOL
- minor bug fix in Picard iteration.
- minor bug fix in line search to prevent infinite loop when beta condition fails and lambda is below minimum size.

## Changes to SUNDIALS in release v2.6.2

- In IDAS, added missing backward problem support functions: IDALapackDenseB, IDALapackDenseFreeB, IDALapackBandB, IDALapackBandFreeB
- In KINSOL and ARKode, updated Anderson acceleration implementation with QR updating.
- Updated BiCGStab solver to remove redundant dot product call.
- Minor corrections and additions to all User Guides.
- In CVODES and IDAS header files, corrected documentation of backward integration functions, especially the 'which' argument.
- In CVODES, added DVKLUB prototype and corrected CVSuperLUMTB prototype.
- In IDAS, made SuperLUMT call for backward problem consistent with CVODES.
- In CVODES and IDAS, added ReInit and SetOrdering wrappers for backward problems. Fixed potential memory leak in KLU ReInit functions in all solvers.
- In CVODE, IDA, and ARKode, fixed Fortran interfaces to enable calls to \*GetErrWeights, \*GetEstLocalErrors, and \*GetDky within a time step. In ARKode, fixed a bug in one Butcher table.
- In ARKode, fixed error in arkDoErrorTest in recovery after failure.
- In IDAS, fixed for-loop bugs in IDAAckpntAllocVectors Various minor fixes to installation-related files.

## Changes to SUNDIALS in release v2.6.1

- Fixed loop limit bug in SlsAddMat function.
- In all six solver interfaces to KLU and SuperLUMT, added #include lines, and removed redundant KLU structure allocations.
- Numerous minor documentation improvements
- Minor bug fixes in ARKode

## Changes to SUNDIALS in release v2.6.0

- Addition of ARKode package of explicit, implicit, and additive Runge-Kutta methods for ODES. This package API is close to CVODE so switching between the two should be straightforward. Thanks go to Daniel Reynolds for the addition of this package.
- Addition of support for two sparse direct solver packages when using the serial vector structure, KLU and SuperLU\_MT. exploits highly sparse systems. SuperLU\_MT supports multithreading in the factorization.
- Addition of openMP and PThreads vector kernels.
- Addition of fixed point and Picard iterative solvers within KINSOL. These are both optionally accelerated with Anderson acceleration.
- Addition of FGMRES support for KINSOL.
- Removal of autotools configuration support. We now exclusively use CMake.
- Numerous bug fixes throughout.

## Changes to SUNDIALS in release v2.5.0

- Changes to user interface
- Problem size and related integers (bandwidth parameters etc.) all have type long int, except in BLAS and LAPACK routines. Function NewIntArray is replaced by a pair NewIntArray/NewLintArray, for int and long int arrays, respectively.

## Changes to SUNDIALS in release v2.4.0

- New features
- new linear solver module, based on Blas and Lapack for both dense and banded matrices.
- Changes to user interface
- reorganization of all linear solver modules into two families (besides the existing family of scaled preconditioned iterative linear solvers, the direct solvers, including the new Lapack-based ones, were also organized into a direct family).
- Changes related to the build system
- provide CMake-based build option, in addition to that based on autotools.

## Changes to SUNDIALS in release v2.3.0

- Changes to the user interface
- modified the functions in the generic dense linear solver (sundials\_dense and sundials\_smalldense) to work for rectangular m by n matrices (m ≤ n).
- renamed the factorization and solution functions in the generic dense linear solver to DenseGETRF/denGETRF and DenseGETRS/denGETRS, respectively.
- renamed the factorization and solution functions in the generic band linear solver to BandGBTRF and BandGBTRS, respectively.
- Changes related to the build system
- rearranged the entire SUNDIALS source tree
- all exported header files are now installed in separate subdirectories of the installation include directory
- header files are included now by specifying the relative path (e.g., #include \<sundials/sundials\_types.h\>)

## Changes to SUNDIALS in release v2.2.0

- New features
- added SPBCG (scaled preconditioned Bi-CGStab) linear solver module
- added SPTFQMR (scaled preconditioned TFQMR) linear solver module
- Changes related to the build system
- updated configure script and Makefiles for Fortran examples to avoid C++ compiler errors (now use CC and MPICC to link only if necessary)
- SUNDIALS shared header files are installed under a sundials subdirectory of the installation include directory
- the shared object files are now linked into each SUNDIALS library rather than into a separate libsundials\_shared library
- Changes to the user interface
- added prefix sundials\_ to all shared header files

## Changes to SUNDIALS in release v2.1.1

- Changes to the generic NVECTOR module
- N\_VCloneEmpty was added to the global vector operations table

## Changes to SUNDIALS in release v2.0.2

- Changes related to the build system
- fixed autoconf-related bug to allow configuration with the PGI Fortran compiler
- modified to use customized detection of the Fortran name mangling scheme (autoconf's AC\_F77\_WRAPPERS routine is problematic on some platforms)

## Changes to SUNDIALS in release v2.0.1

- Changes related to the build system
- changed order of compiler directives in header files to avoid compilation errors when using a C++ compiler.
- changed method of generating sundials\_config.h to avoid potential warnings of redefinition of preprocessor symbols.

## Changes to SUNDIALS in release v2.0.0

- Changes to the generic NVECTOR module
- removed machEnv, redefined table of vector operations (now contained in the N\_Vector structure itself).
- all SUNDIALS functions create new N\_Vector variables through cloning, using an N\_Vector passed by the user as a template.
- a particular NVECTOR implementation is supposed to provide user-callable constructor and destructor functions.
- removed from structure of vector operations the following functions: N\_VNew, N\_VNew\_S, N\_VFree, N\_VFree\_S, N\_VMake, N\_VDispose, N\_VGetData, N\_VSetData, N\_VConstrProdPos, and N\_VOneMask.
- added in structure of vector operations the following functions: N\_VClone, N\_VDestroy, N\_VSpace, N\_VGetArrayPointer, N\_VSetArrayPointer, and N\_VWrmsNormMask.
- Note that nvec\_ser and nvec\_par are now separate modules outside the shared SUNDIALS module.
- Changes to the generic linear solvers
- in SPGMR, added a dummy N\_Vector argument to be used as a template for cloning.
- in SPGMR, removed N (problem dimension) from argument list of SpgmrMalloc.
- iterative.{c,h} replace iterativ.{c,h}
- modified constant names in iterative.h (preconditioner types are prefixed with 'PREC\_').
- changed numerical values for MODIFIED\_GS (from 0 to 1) and CLASSICAL\_GS (from 1 to 2).
- Changes to sundialsmath submodule
- replaced internal routine for estimation of unit roundoff with definition of unit roundoff from float.h
- modified functions to call appropriate math routines given the precision level specified by the user.
- Changes to sundialstypes submodule
- removed type 'integertype'.
- added definitions for 'BIG\_REAL', 'SMALL\_REAL', and 'UNIT\_ROUNDOFF' using values from float.h based on the precision.
- changed definition of macro RCONST to depend on precision.

# sundialsTB

sundialsTB is no longer distributed as of sundials v. 2.7.0 as it has not been updated in many years.

## What's new in v2.5.0?

- Bug fixes
- fixed lines setting etachoice in kimOpts.c
- in cvm.c and idm.c, fixed size of rootsfound array; added lines to free rootsfound and ckpnt arrays when done using each
- What's new in v2.4.0?
- New Features
- the Matlab interface to IDAS was extended to provide sensitivity analysis capabilities.
- Changes to user interface
- the API for adjoint sensitivity analysis (cvodes and idas) was modified to support simultaneous integration of multiple backward problems.

## What's new in v2.3.0?

- New features
- added Matlab interface to IDA (named idas)
- on platforms which support configure scripts, installation of sundialsTB can now be enabled while configuring SUNDIALS and installed through make and make install (provided a working MEX compiler is found).
- Bug fixes
- the installation script install\_STB.m was modified to increase robustness on various platforms (related to path and file names).
- Changes to user interface
- (cvodes) for improved legibility, some of the keys for forward sensitivity optional inputs were renamed.
- (cvodes) removed xaxis type option for the internal monitoring function CVodeMonitor.

## What's new in v2.2.0?

- New features
- modified installation procedure to use a Matlab script
- added sample Matlab startup file
- (cvodes) expanded CVodeMonitor
- (kinsol) added interface to KINSOL's performance monitoring function ('Verbose' option to KINSetOptions)
- Bug fixes
- (cvodes) fixed bug in interface to quadrature integration which was causing a segmentation violation when monitoring was turned on.
- Changes to user interface
- updated to reflect changes to the SUNDIALS libraries in v.2.2.0
- (cvodes) changed the interface for sensitivity analysis (both forward and adjoint) to follow more closely the CVODES calling sequence
- (cvodes) optional inputs for forward sensitivity analysis are now provided through a separate function, CVodeSensSetOptions
- removed NVM mex interface

0 comments on commit 273fe38

Please sign in to comment.