Developer’s call, 07.06.2021

Upgrade to use the latest Sundials


According to the SUNDIALS changelog, in later versions only the interface was modified and made more modular, but no algorithmic changes were made to IDAS (the relevant part for CADET). Instead of focussing more efforts to adapt CADET to the new interface, @s.leweke proposed to simply include SUNDIALS 3.2.1 in ThirdParty (see PR).
Instead, we could put the efforts in changing the time integrator.

Write out state for every unit operation separately

A working prototype was presented. However, there is still some boilerplate code so more effort will be put into integrating the solution into existing structures.

Fix compile warnings

All warnings were fixed and it was decided to merge the PR. :partying_face:

Python interface

(@w.heymann, @j.schmoelder )
Some discussions were made about the structure of the interface. There was general agreement about having multiple layers.

  • A simple wrapper around the HDF5 file, and
  • A more user friendly object oriented library that checks parameters values and dimensions and also provides default values for solver parameters.

For this purpose, we could use the attrs library which simplifies creating classes that automate these checks. An alternative approach was implemented in CADET-Process because attrs was missing some features required. However this needs to be re-evaluated.