CADET-Process v0.11.0

CADET-Process v0.11.0 is the culmination of 6 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

  • Added Contributor’s guide. (#112)
  • Split optional dependencies and dependency groups. (#266)
  • Migrated from unittest to pytest for a more flexible and expressive testing framework, simplifying test discovery and fixtures.
  • Added Dependabot for automated dependency monitoring and updates, helping to catch outdated or vulnerable packages early. (#231)
  • Adopted the XDG Base Directory specification to standardize the location of temporary files and cache directories, improving compatibility with user environments.
  • Introduced Ruff for linting and formatting, ensuring consistent code style, enforcing docstrings, and maintaining type annotations across the codebase. (#259)

CADETProcess.processModel improvements

CADETProcess.comparison improvements

CADETProcess.fractionation improvements

CADETProcess.simulator improvements

CADETProcess.optimization improvements

Other improvements

Deprecations / Breaking changes

  • In the SimulatorBase class, the run method, which defined an interface for subclasses, is no longer available. Users should instead utilize the SimulatorBase.simulate method, which includes additional pre- and post-processing steps. The SimulatorBase._run method has been made private.
  • In the OptimizerBase class, the run method, which defined an interface for subclasses, is no longer available. Users should instead utilize the OptimizerBase.optimize method, which includes additional pre- and post-processing steps. The OptimizerBase._run method has been made private.
  • Height was removed from Shape. (#221)
    Users should instead explicitly add a Height metric to the Comparator.
  • The valve_dead_volume attribute has been removed from the ZoneBaseClass class.
    Instead of using valve_dead_volume, users can now pass valve_parameters. This parameter should include a unit_type (which can be either Cstr or TubularReactor) along with the corresponding parameters specific to the unit type. For detailed guidance on setting up the valve parameters, refer to the method ZoneBaseClass._setup_valve.
    It’s important to note that the current implementation of valve parameters is a temporary workaround to address a limitation in CADET-Core, which does not support zero-volume mixer/splitter unit operations and is not meant to model system dead volume. Hopefully, future updates will include support for this feature, eliminating the need for this workaround.

Fixed bugs:


Full Changelog: Compare v0.10.1 to v0.11.0

5 Likes