Coldae++ is a C++ port of NetLib's COLDAE.
COLDAE uses a collocation (COL) method to solve semi-explicit differential-algebraic equations (DAE) of the form
The original Fortran 77 code by Uri Ascher and Ray Spiteri is available on Netlib.
- Initialize the {fmt} submodule :
git submodule update --init --recursive
#include "ColDAEpp.hpp"
- Derive a class from
coldae::system
and provide the subroutines. (seetest\systems.hpp
) - Create a
coldae::solver
instance and callCOLDAE()
on it. The parameters have the same meaning as in the original. (seetest\test.hpp
)
The C++ version takes about 20% less time than the original version but much more memory.