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 standardparameters
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