Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Releases: dae-cpp/dae-cpp

v2.2.0

29 Jan 14:58
b46e381
Compare
Choose a tag to compare

In version 2.2.x, the solver can reduce the time step size and redo the current time step until a certain condition is met. This is useful if the solver needs to stop when, for example, one of the variables should reach the given value exactly (with the given tolerance), and the solver integrator should not “overshoot”. This version also includes several important updates, such as bug fixes and corrections for compiler warnings.

Refer to the Documentation pages for more information and examples.

Important changes:

  • Added solver_command::command enum with Solution Manager functor return values. Used to send "commands" to the solver from the user-defined Solution Manager
  • The user can request the solver to decrease the time step size
  • The user can request the solver to decrease the time step size and then redo the current time step
  • Fix parentheses warning in autodiff
  • Fix -Wall and -Wextra warnings (e.g., "reorder" and "unused variable" warnings)
  • Switch from uint32_t to int32_t for int_type
  • Switch from uint64_t to int64_t for int_type if DAECPP_LONG is defined
  • Fix relative error check
  • Fix situation when the solver can decrease and then immediately increase the time step
  • Fix tolerances for single precision

v2.1.1

11 Jan 18:19
82e7b93
Compare
Choose a tag to compare

This patch increases the reliability of the solver.

  • Fixed bug when the solver could not recover from divergence and could not redo the last time step correctly
  • Type dual_type deprecated but still supported, added state_value instead as it is clearer
  • Added recover_from_linsolver_failure solver option (true by default). Now the solver will try to recover from the linear solver failure (e.g., on the matrix decomposition step) by rolling back and decreasing the time step.

Documentation: dae-cpp.github.io

Fully redesigned dae-cpp (compared to v1.x)

21 Dec 22:44
325359e
Compare
Choose a tag to compare

The main features of the DAE solver:

  • Header only, no pre-compilation required.
  • Uses automatic (algorithmic, exact) differentiation to compute the Jacobian matrix, if it is not provided by the user.
  • The user can provide analytically derived Jacobian or the Jacobian matrix shape (positions of non-zero elements) to significantly speed up computation for big systems.
  • Fourth-order implicit BDF time integrator that preserves accuracy even when the time step rapidly changes.
  • A very flexible and customizable variable time stepping algorithm based on the solution stability and variability.
  • Mass matrix can be non-static (can depend on time) and it can be singular.
  • The library is extremely easy to use. A simple DAE can be set up using just a few lines of code (see Quick Start).

Refer to the Documentation pages for more information and examples.

All notable changes are summarized in the CHANGELOG.

dae-cpp v1.1

25 Jun 16:21
Compare
Choose a tag to compare

A simple but powerful C++ solver for Differential Algebraic Equation (DAE) systems

Please, see full description here.

What's new

  • Added Robertson Problem (a system of stiff Differential Algebraic Equations with a conservation law) as an example.
  • The solver was tweaked for stiff problems and validated against MATLAB ode15s stiff DAE solver.
  • Added MS Visual Studio 15 default project file to compile the solver and all the examples under Windows.

The first working version of the solver

08 Jun 20:48
Compare
Choose a tag to compare