CADET-Process v0.8.0

Hello everyone,

we’re proud to announce a fresh release of CADET-Process. v0.8.0 is the culmination of the last 6 months of development. All users are encouraged to upgrade to this release. This release requires Python 3.9+

Highlights of this release

  • Overhaul of parameter descriptors: Cleaner structure, new validation methods and improved testing.
  • Improved indexing for multidimensional parameters for events and optimization variables.
  • Improved parallelization: Selector for backend allows more flexibility when running optimization on multiple cores.
  • Overhaul of reactions module: Individual reaction parameters can now be accessed using the standard parameters interface (required for optimization).
  • Improved handling of variable transforms for optimization problems with linear constraints.

Breaking changes

Adsorption rates and reference concentrations

The parameter behavior for adsorption rates in CADET-Core and CADET-Process has been a point of discussion. This parameter can represent either the “real” k_a or the transformed \tilde{k}_{a}, depending on whether a reference concentration is used in binding models such as SMA.

To clarify this, CADET-Process initially introduced the adsorption_rate parameter to always signify the “real” k_a. An additional internal property, adsorption_rate_transformed, was introduced to handle the transformation automatically before passing the value to CADET-Core. This aimed to simplify the transfer of values to different reference concentrations or adsorption models.

Despite these efforts, this inconsistency between CADET-Core and CADET-Process lead to some confusion among users.

Starting from CADET-Process v0.8.0, a more harmonized approach has been adopted.
Now, adsorption_rate and desorption_rate in the SMA model (and similar models) directly map to k_a / k_d of CADET-Core, thus representing the transformed parameters. For users who still need access to the “real” parameter values, for example, when transferring parameters between different systems, the attributes adsorption_rate_untransformed and desorption_rate_untransformed have been introduced into CADET-Process binding model classes.

Pull requests for 0.8.0

  • 38: Fix parallelization error Cadet object has no attribute _is_file_class
  • 40: Add selector for parallelization backend
  • 46: Fix linear constraints error in Scipy
  • 54: Fix indexing for Events and OptimizationVariables
  • 55: Rework interface regarding reference concentrations
  • 59: Fix/change addict version