Recent Releases of cadet-process

cadet-process - v0.11.1

v0.11.1

CADET-Process v0.11.1 is a hotfix release which fixes a couple of small issues. We strongly encourage all users to upgrade to this version for better performance and new functionalities.

This release requires Python 3.10+.

Issues closed for 0.10.0

  • #281: Fix nboundstates in Spreading model by @schmoelder
  • #282: Update Zenodo.json by @hannahlanzrath
  • #284: Fix overlay plot by @schmoelder
  • #287: Do not change labels when using log scale by @schmoelder

Full Changelog: Compare v0.11.0 to v0.11.1

- Python
Published by schmoelder 9 months ago

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

  • 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 ncyclesmax below ncyclesmin 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 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:

  • 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 roundtosignificant_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

- Python
Published by schmoelder 9 months ago

cadet-process - v0.10.1

CADET-Process v0.10.1 is a hotfix release which fixes an upstream dependency issue by pinning a lower version of the package libsqlite. This release fixes issues arising during the setup of new environments.

This release requires Python 3.10+.

Issues closed for 0.10.1

  • 229: Fix problem with libsqlite 3.49.1

Full Changelog: Compare v0.10.0 to v0.10.1

- Python
Published by ronald-jaepel about 1 year ago

cadet-process - v0.10.0

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

CADETProcess.processModel improvements

  • Support for Unit Operations with Multiple Ports: Enhanced flexibility in modeling systems by introducing support for unit operations that handle multiple input and output ports.

  • Add MCT Model: A new Model for Multicomponent Transport (MCT) is introduced, expanding the capabilities of the library for simulating advanced separation processes.

CADETProcess.comparison improvements

  • Add Fractionation Metric: A new metric for assessing the fractionation efficiency of processes has been added, improving the comparison and analysis of simulation results.

CADETProcess.simulator improvements

  • Integration of DG method: Adaptation to the new spatial discontinuous Galerkin discretization method (DG) of CADET-Core, enhancing the computational performance of chromatography models. Please refer to our corresponding publication and the updated documentation for information on optimal discretization parameters.
  • Integration of C-API: Adaptation to the new in-memory interface of CADET-Core, improving the speed of simulation startup and writing of solution output.

CADETProcess.optimization improvements

  • Add qNParEGO Optimization: Integration of the qNParEGO interface, providing support for advanced multi-objective optimization with faster convergence and broader applicability.

  • General Optimization Improvements: Multiple refinements and updates to optimization processes, including improved handling of constraints and optimization problem setup.

Issues closed for 0.10.0

  • 6: Use CADET C-API
  • 139: Connecting Outlet unit operation to other operations now raises a proper Exception.
  • 151: Fixed divide-by-zero error in pearsonr_mat when simulations finish without elution.
  • 160: GRM ParticleSolution errors for npar = 1
  • 164: Bug in component system with molecular_weight
  • 174: ImportError: cannot import name 'FixedNoiseGP' from 'botorch.models.gp_regression'
  • 176: Can't simulate LRMP with ncols = 1
  • 178: Addressed exceptions in Ax optimizer options.
  • 183: Add a Release Guide for CADET-Process
  • 193: Add tests that check npar = 1 and ncol = 1 works for UOs that allow this specification

Pull requests for 0.10.0

  • 86: Add fractionation metric.
  • 108: Add Fanout Cache.
  • 109: Calculate volumetric flow from u.
  • 127: Unify calling evaluation functions for individuals and populations.
  • 130: Add qNParEGO Ax MOO Interface.
  • 137: Always inherit cadet path.
  • 138: Fix documentation for AntiLangmuir isotherm.
  • 140: Fix addconcentrationprofile
  • 141: Adapt to new DG interface in CADET-Core.
  • 142: Fix/use minutes.
  • 143: Fix/inlet outlet connections.
  • 148: Improve tearDown after tests.
  • 149: Enable colloidal binding.
  • 150: Avoid duplicate entries in usersolutiontimes.
  • 152: Optimization improvements.
  • 154: Fix plotatposition.
  • 155: Fix pearsonr_mat divide by zero error.
  • 157: Add create_LWE.
  • 159: Support numpy v2.
  • 163: Add linear threshold parameter for mobile phase modulator
  • 165: Remove setup.cfg.
  • 167: Optimizer improvement v2
  • 169: Adapt to CADET-Core v5.
  • 170: Fix loading of multi-cycle solutions.
  • 179: Resolves: ImportError cannot import name FixedNoiseGP from botorch.models.gp_regression
  • 184: Fix pyproject.toml
  • 185: Fix solution dimensions
  • 186: Add release guide
  • 188: Updates testcadetadapter to new CADET-Core (+ minor bug fix)
  • 191: Fix recursion error in ComponentSystem.molecular_weights
  • 195: Update MacOS in CI and reintroduce tests on Windows
  • 196: Add parameterized tests to testcadetadapter and fixes bug in create_LWE
  • 202: Fix C-API
  • 203: Update conda link in README.md

Full Changelog: Compare v0.9.1 to v0.10.0

- Python
Published by schmoelder about 1 year ago

cadet-process - v0.9.1

CADET-Process v0.9.1 is a hotfix release which fixes a couple of minor issues. All users are encouraged to upgrade to this release, as there are a large number of bug-fixes and optimizations.

This release requires Python 3.10+

Highlights and new features of this release

  • Fix updating ParetoFront with a from a Population.
  • Add option to instantiate a Population from an OptimizationProblem.
  • Add option to include meta scores and infeasible points in Population.plot_pareto.
  • Add option to set time axis in plots to seconds.
  • Migrate to pyproject.toml.

Issues closed for 0.9.1

  • 121: optimizationproblem.evaluatecallbacks(ind) doesn't evaluate if callback frequency is set to != 1

Pull requests for 0.9.1

  • 122: Extend example of binding parameter estimation to include parameter transformation
  • 125: Use seconds in plot time axis
  • 126: AxInterface Runner staging_required should be a property

- Python
Published by schmoelder almost 2 years ago

cadet-process - v0.9.0

CADET-Process v0.9.0 is the culmination of 6 months of hard work. It contains many new features, numerous bug-fixes, improved test coverage and better documentation. All users are encouraged to upgrade to this release, as there are a large number of bug-fixes and optimizations.

This release requires Python 3.9+

Highlights and new features of this release

CADETProcess.processModel improvements

Support for new adsorption models

In this version, a couple of new isotherms are supported in CADET-Process:

  • LangmuirLDFLiquidPhase: A multi-component Langmuir binding model using a linear driving force approximation based on the equilibrium concentration c* for given q.
  • HICConstantWaterActivity: A HIC binding model assuming constant water activity.
  • HICWaterOnHydrophobicSurfaces: A HIC binding model published in Wang et al. 2016.

Improving flow rate calculations

Previously, CADET-Process used symbolic mathematics (sympy) during pre-processing to calculate the flow rates for every unit operation. While this didn't cause any issue for small systems, it made the pre-processing times unacceptably long for big multi-column systems. By formulating the problem as a linear algebraic problem, which can be solved using np.linalg.solve, the computation times could be reduced by several orders of magnitude. For more information, visit the Forum or check out the corresponding PR. Thanks to @dion-is for bringing this to our attention and to @daklauss for implementing this improvement!

CADETProcess.optimization improvements

Implement a Bayesian optimization algorithm for CADET-Process based on ax

Many of the optimization problems encountered in model-based design involve high-dimensional spaces with multiple objectives and constraints. However, established optimizers are often ineffective for these complex problems because they are either designed for single objectives, lack adequate support for nonlinear constraints, or are not suitable for global optimization.

In recent years, Bayesian Optimization (BO) has emerged as a promising technique to effectively tackle these challenges. This method approximates the objective function using surrogate models such as Gaussian process regression (GPR) and utilizes an acquisition function to balance exploration and exploitation of the parameter space.

In this release, ax as been added to CADET-Process. Different algorithms can be used, e.g. GPEI for single-objective and NEHVI for multi-objective optimization.

Thanks to @flo-schu for contributing this extension to CADET-Process!

Allow specifying objectives as maximization problem

Previously, all objective functions defined in an OptimizationProblem were expected to return a value that was to be minimized. However, in reality, objectives are often to be maximized (e.g. a productivity).

In this release, a new minimize flag was introduced to the OptimizationProblem.add_objectives method. If minimize is False, the result will automatically be multiplied with -1 internally to convert the maximization problem to a minimization problem. For reporting, the original value is then used. The default is maximize=True.

Moreover, for nonlinear constraints, the user can now specify a comparison_operator in the OptimizationProblem.add_nonliner_constraints method which is used to compare the output of the nonlinear constraint function with the specified bounds. By default, the operator is 'le', indicating that the value returned by the function must be less or equal to the specified bound. In any case, the "true" value of the nonlinear constraint function, as well as the constraint violation are stored for reporting, where positive values indicate the constraint is not satisfied.

CADETProcess.modelBuilder improvements

Add triangle theory design methods for SMB systems

To facilitate the setup of SMB processes, a new SMBBuilder was added which automatically configures FlowSheet and Process of a 4-zone SMB. Moreover, design methods based on the so-called triangle theory have been added to determine optimal flow rates of the SMB system for linear and Langmuir isotherms. For more information, refer to SMB Builder Tutorial.

Issues closed for 0.9.0

  • 50: Add support for linear equality constraints in hopsy.
  • 67: Improving flow rate calculations.
  • 99: Overhaul post-processing in Optimization
  • 117: A linear constraint with two linear variables still raises an issue if any non-linear variables are present in the system.
  • 118: Issue with return types of evaluation functions.

Pull requests for 0.9.0

  • 34: Implement a bayesian opimization algorithm for CADET-Process based on ax.
  • 65: Add adapter for LangmuirLDFLiquidPhase.
  • 66: Fix evaluation objects in objectives.
  • 68: Fix indices for optimization of sized parameters with size==1.
  • 71: Improving flow rate calculation.
  • 74: Add support for initial values with linear equality constraints.
  • 76: Fix bad initial value for Yamamoto method.
  • 77: Improve preprocessing time.
  • 78: Fix calculation of conversion rates for MSSMA model.
  • 79: Fix behavior of comparisons to references with multiple components.
  • 82: Fix callbacks with dependencies.
  • 84: Improve handling of initial values.
  • 91: Improve behavior of evaluatecallbacks with individuals without xuntransformed.
  • 92: Add plot method to TransformBase.
  • 69: Add HIC binding model adapters.
  • 101: Allow setting state for dependent events.
  • 110: Improve fractionation behavior when encountering empty fractions.
  • 113: Add triangle theory design methods for SMB systems.
  • 114: Improve optimization post processing
  • 115: Allow specifying objectives as maximization problem.
  • 116: Fix/non linear variables uninvolved in linear rules.

- Python
Published by schmoelder almost 2 years ago

cadet-process - 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" $ka$ 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" $ka$. An additional internal property, `adsorptionrate_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 $ka$ / $kd$ 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

- Python
Published by schmoelder over 2 years ago

cadet-process - v0.7.3

v0.7.3

CADET-Process v0.7.3 is a hotfix release which fixes a minor issue with the optimization module. All users are encouraged to upgrade to this release.

This release requires Python 3.8+

Highlights of this release

  • Properly read constraints and constraints violation in pymoo.
  • Use meta_front if n_multi_criteria_decision_functions > 0.
  • Only run CI "on push" for dev and master branch.

Pull requests for 0.7.3

  • 28: Fix/pymoo cv

- Python
Published by schmoelder almost 3 years ago

cadet-process - v0.7.2

v0.7.2

CADET-Process v0.7.2 is a hotfix release which fixes a minor issue with the optimization module. All users are encouraged to upgrade to this release.

This release requires Python 3.8+

Highlights of this release

  • Fix issue where unknown (internal) optimizer options raise exception in scipy.minimize(method='trust_constr') (See also post in forum).
  • Include bound objects in scipy.minimice function call.

Pull requests for 0.7.2

  • 24: Fix/trust constr.

- Python
Published by schmoelder almost 3 years ago

cadet-process - v0.7.1

v0.7.1

CADET-Process v0.7.1 is a hotfix release which fixes a couple of minor issues. All users are encouraged to upgrade to this release.

This release requires Python 3.8+

Highlights of this release

  • Fix check_connection for FlowSheet with single Cstr (see 22)
  • Include missing isotherm models in __all__ (see here)
  • Fix time coordinates in plot function.

Issues closed for 0.7.1

  • 22: FlowSheet.check_connection() returns False for single Cstr

Pull requests for 0.7.1

  • 23: Fix FlowSheet.check_connections() for Cstr

- Python
Published by schmoelder almost 3 years ago

cadet-process - v0.7.0

v0.7.0

CADET-Process v0.7.0 is the culmination of 10 months of hard work. It contains many new features, numerous bug-fixes, improved test coverage and better documentation. There have been a number of deprecations and API changes in this release, which are documented below. All users are encouraged to upgrade to this release, as there are a large number of bug-fixes and optimizations.

This release requires Python 3.8+

Highlights of this release

  • Complete overhaul of optimization problem structure:
    • Evaluation objects
    • Evaluators
    • Caching using diskcache
  • Add optimization variable normalization.
  • Complete overhaul of optimization results.
    • Improved plots for objectives space, Pareto fronts.
    • Improved checkpoints.
  • Check functions before running simulations and optimizations.
  • Add Parameter Sensitivities.
  • Provide derivatives and anti-derivatives of solution objects.
  • Allow slicing solution in any dimension (including components).
  • Add Yamamoto's method to determine isotherm parameters.
  • Complete overhaul of documentation:
    • Improved docstrings coverage
    • New user guide
  • Many new unit and integration tests.

Issues closed for 0.7.0

  • 2: Add Parameter Sensitivities
  • 10: Update Pymoo Interface to v0.6.0

Pull requests for 0.7.0

  • 13: Change normalization for NRMSE from max solution to max reference
  • 16: Overhaul docs

- Python
Published by schmoelder almost 3 years ago

cadet-process - v0.6.3

Add data Smoothing

  • Add data smoothing.
  • Add solution derivative/integral default values.
  • Fix total concentrations for Comparator.
  • Raise error in Carousel Builder when no column is set.
  • Fix hopsy rounding error: handle exception; bug reported upstream.
  • Fix timout error in Optimization Tutorial.
  • Return full results for stationarity evaluatior.
  • Update tutorial figures.

- Python
Published by schmoelder almost 4 years ago

cadet-process - v0.6.2

Add data Smoothing

  • Add data smoothing.
  • Add solution derivative/integral default values.
  • Fix total concentrations for Comparator.
  • Raise error in Carousel Builder when no column is set.
  • Fix hopsy rounding error: handle exception; bug reported upstream.
  • Fix timout error in Optimization Tutorial.
  • Return full results for stationarity evaluatior.
  • Update tutorial figures.

- Python
Published by schmoelder almost 4 years ago

cadet-process - v0.6.1

Fix documentation

- Python
Published by schmoelder almost 4 years ago

cadet-process - v0.6.0

  • New: Optimization Progress.
  • New: Evaluation Pipelines for Optimization Problems.
  • New: Optimization Callbacks.
  • New: Parameter transform/normalization.
  • New: Dependent optimization variables.
  • Improved: Initial parameter sampling for log transformed variables.
  • New: Comparator/Parameter estimation.
  • New: Initial suppport for DG-Discretization.
  • Removed: common module; Now dedictated modules are used.
  • Improved: Overhauled Stationarity Module
  • Fixed: Autodetect CADET installation.
  • New: Tutorial for Event Dependencies.
  • New: Tutorial for Gradients.
  • New: Plot solution derivatives.
  • Changed: Set solution recorder on unit operation level.

- Python
Published by schmoelder almost 4 years ago

cadet-process - v0.5.2

Improved Documentation and Formatting

  • Format code.
  • Improve Documentation for Fractionation.
  • Improve Documentation for CarouselBuilder.
  • Improve Documentation for CompartmentBuilder.
  • Add CarouselSolution class.

- Python
Published by schmoelder almost 4 years ago

cadet-process - v0.5.1

Improved Documentation and Tests

Added

  • documentation for CarouselBuilder
  • documentation for CompartmentBuilder
  • documentation for Reactions
  • documentation for Deprotonation Reactions
  • documentation for Buffer Capacity
  • tests for CarouselBuilder
  • method to check if connection exists in FlowSheet

- Python
Published by schmoelder almost 4 years ago

cadet-process - v0.5.0

New pipeline and documentation, Compartment ModelBuilder

Added:

  • ModelBuilder for compartment models
  • Updated Documentation with tutorials (WIP)
  • Add checks for unit operation connectivity and flow rates
  • Add pipline with tests

Fixed:

  • Relax hopsy requirement to work for Linux

Changed:

  • Update plot methods to accept axes object

Full Changelog: https://github.com/fau-advanced-separations/CADET-Process/compare/v0.4.2...v0.5.0

- Python
Published by schmoelder about 4 years ago

cadet-process - v0.4.2

Fix type checking for windows

- Python
Published by schmoelder about 4 years ago

cadet-process - v4.0.1

Bug fixes

Fixed: - Tests for flow rate filter - Solution time - Reaction model for LRM - Reaction exponents setter

- Python
Published by schmoelder about 4 years ago

cadet-process - v0.4.0

Improve support for windows

Added

  • Module for calculating buffer capacities
  • String representation for chemical reactions using Component information
  • Made previously hard coded parameters configurable

Fixed

  • Plot units for CSTR volume
  • Checks in reaction module

Changed

  • Construction of usersolutiontimes to avoid IDAS crashes
  • Bump version for hopsy to support windows
  • Component class constructor
  • Module names to comply with PEP8 (WIP)

- Python
Published by schmoelder about 4 years ago

cadet-process - v0.3.0

Improved Solution and component handling.

Added

  • Classes for bulk, particle liquid, solid, and volume solution.
  • Component classes used for tracking sub-species and naming.
  • Methods to calculate adsorption and reaction equilibria.
  • Binding: MobilePhaseModulator adsorption model.
  • Cadet: Method to create CadetAPI object from hdf5 file.
  • OptimizationProblem: parallel evaluation of populations.
  • Pymoo: Resume optimization from checkpoints.

Fixed

  • Correctly calculate flow rates for processes without events.

Changed

  • Start of reorganization of common module into smaller dedicated modules.
  • Discretization is now handled by UnitOperations instead of CADET-Adapter.

- Python
Published by schmoelder over 4 years ago

cadet-process -

Initial release on PyPI

- Python
Published by schmoelder over 4 years ago