Skip to content

New library for automatic differentiation using a sparse representation

Reinhard Resch requested to merge sparse-gradient into develop

Dear MBDyn Developers,

This branch adds a new library for automatic differentiation including a new sparse matrix handler, a new submatrix handler and a new algorithm for parallel assembly. In addition to that, matrix scaling and linear solver interfaces have been improved. The main motivation for this branch was performance improvement for module-hydrodynamic_plain_bearing2. Especially for full elastohydrodynamic models a speedup of more than factor four is possible for some models. Apart from performance, this new library is also easier to use and takes advantage of many C++11 features.

If you want to test it, you have to run configure with --enable-sparse-autodiff. It is still possible to use the old library (--enable-autodiff) or you can use both of them.

Merge request reports