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#

  • Add/component names when adding reactions by @AntoniaBerger in https://github.com/fau-advanced-separations/CADET-Process/pull/223

  • Make axial dispersion component dependent by @schmoelder in https://github.com/fau-advanced-separations/CADET-Process/pull/239

  • Add method to calculate Bodenstein number by @schmoelder in https://github.com/fau-advanced-separations/CADET-Process/pull/234

  • Improve interpolation of concentration profiles by @schmoelder in https://github.com/fau-advanced-separations/CADET-Process/pull/218

  • Normalize profiles before fitting piecewise polynomial by @schmoelder in https://github.com/fau-advanced-separations/CADET-Process/pull/205

CADETProcess.comparison improvements#

  • Add ShapeFront difference metric by @schmoelder in https://github.com/fau-advanced-separations/CADET-Process/pull/242

CADETProcess.fractionation improvements#

  • Add/use component names when adding fractions by @AntoniaBerger in https://github.com/fau-advanced-separations/CADET-Process/pull/244

  • Use last point fulfilling purity constraints for initial values by @schmoelder in https://github.com/fau-advanced-separations/CADET-Process/pull/254

CADETProcess.simulator improvements#

  • Add version property to Cadet by @schmoelder in https://github.com/fau-advanced-separations/CADET-Process/pull/255

  • Add warning to simulator when setting n_cycles_max below n_cycles_min by @ronald-jaepel in https://github.com/fau-advanced-separations/CADET-Process/pull/213

  • Adapt to CADET-Python’s new run interface by @ronald-jaepel in https://github.com/fau-advanced-separations/CADET-Process/pull/245

CADETProcess.optimization improvements#

  • Expose option to set precision for variables by @schmoelder in https://github.com/fau-advanced-separations/CADET-Process/pull/103

  • Add pairwise plot by @schmoelder in https://github.com/fau-advanced-separations/CADET-Process/pull/246

  • Update hopsy methods by @schmoelder in https://github.com/fau-advanced-separations/CADET-Process/pull/240

Other improvements#

  • Make run methods private by @schmoelder in https://github.com/fau-advanced-separations/CADET-Process/pull/211

  • Fix syntax warnings for invalid escape sequence in docstrings by @schmoelder in https://github.com/fau-advanced-separations/CADET-Process/pull/241

  • Pin sqlite version to avoid crashes by @schmoelder in https://github.com/fau-advanced-separations/CADET-Process/pull/233

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 simulate() method, which includes additional pre- and post-processing steps. The _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 optimize() method, which includes additional pre- and post-processing steps. The _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 _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:#

  • Do not round hopsy problem when computing chebyshev center by @schmoelder in https://github.com/fau-advanced-separations/CADET-Process/pull/256

  • Fix storage of surface_diffusion in parameters dict by @schmoelder in https://github.com/fau-advanced-separations/CADET-Process/pull/277

  • Transfer output state when building flow sheet from CarouselBuilder by @schmoelder in https://github.com/fau-advanced-separations/CADET-Process/pull/274

  • Add concentration to parameters by @schmoelder in https://github.com/fau-advanced-separations/CADET-Process/pull/238

  • Call super().init() for Simulator by @schmoelder in https://github.com/fau-advanced-separations/CADET-Process/pull/212

  • Fix Aggregator setter by @schmoelder in https://github.com/fau-advanced-separations/CADET-Process/pull/216

  • Fix ProxyList by @schmoelder in https://github.com/fau-advanced-separations/CADET-Process/pull/225

  • Handle nan’s in round_to_significant_digits by @ronald-jaepel in https://github.com/fau-advanced-separations/CADET-Process/pull/235

  • Extend MPMLangmuir gamma range by @ronald-jaepel in https://github.com/fau-advanced-separations/CADET-Process/pull/210


Full Changelog: Compare v0.10.1 to v0.11.0