v0.12.0
CADET-Process v0.12.0 is the culmination of 11 months of dedicated development and collaboration.
This release introduces significant new features, critical bug fixes, enhanced test coverage, and improved documentation.
We strongly encourage all users to upgrade to this version for better performance and new functionalities.
This release requires Python 3.10+.
Highlights and new features of this release
General improvements
- #330: Improve plotting module: The entire plotting module was overhauled and now offers consistent styling, sizing etc. across all figures.
CADETProcess.processModel improvements
- #252: Add HIC Unified binding model
- #292: Add ACT isotherm
- #331: Add
k_eqto selected binding models - #289: Account for bound states in
SolutionSolid
CADETProcess.modelBuilder improvements
- #302: Add model builders for BatchElution, Flip-Flop, CLR, SSR, and LWE processes
- #328: Add
SerialColumnsbuilder - #368: Model builder improvements: consistent event naming, avoid unnecessary column copies, add
own_binding_modeloption
CADETProcess.comparison improvements
- #288: Update pearson / shape computation
CADETProcess.fractionation improvements
- #364: Fractionation improvements
- #369: Add
ProcessMetadataclass for safe override of process metadata in fractionation
CADETProcess.optimization improvements
- #153: Add COBYQA optimizer
- #342: Add heuristic for automatic scaling of
pop_size,n_max_gen, andn_ref_dirs - #349: Add
MassBalancecriterion for asserting stationarity - #323: Improve Yamamoto method
Other improvements
- #294: Upload coverage to codecov
Deprecations / Breaking changes
- In the
SimulatorBaseclass, therunmethod, which defined an interface for subclasses, is no longer available.
Users should instead utilize theSimulatorBase.simulatemethod, which includes additional pre- and post-processing steps.
TheSimulatorBase._runmethod has been made private. - In the
OptimizerBaseclass, therunmethod, which defined an interface for subclasses, is no longer available.
Users should instead utilize theOptimizerBase.optimizemethod, which includes additional pre- and post-processing steps.
TheOptimizerBase._runmethod has been made private. - Height was removed from
Shape. (#221)
Users should instead explicitly add aHeightmetric to theComparator. - The
valve_dead_volumeattribute has been removed from theZoneBaseClassclass.
Instead of usingvalve_dead_volume, users can now passvalve_parameters.
This parameter should include aunit_type(which can be eitherCstrorTubularReactor) along with the corresponding parameters specific to the unit type.
For detailed guidance on setting up the valve parameters, refer to the method {meth}ZoneBaseClass._setup_valve. f_min/m_minhave been renamed tof_minimized/m_minimizedin optimization results to avoid ambiguity.- The
showoption has been removed from all plotting methods.
Responsibility for managing figures now lies with the user. evaluation_objectshas been removed from theset_variablessignature.
Fixed bugs
- #305: Fix indices for aggregator optimization variables
- #353: Fix optimization variables for fractionation with multiple outlets
- #354: Fix updating flow rate
TimeLineofSolutionIO - #367: Manually run callbacks at the end of each optimization for COBYLA
- #370: Fix buffer capacity improvements
- #371: Minor fixes
- #377: Fix stationarity evaluator
Full Changelog: Compare v0.11.1 to v0.12.0