v0.8.0#

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