Recent Releases of CADET-Core 5.0

CADET-Core 5.0 - Version 5.0.4

CADET-Core v5.0.4 is a patch-release bundling some documentation changes, and adding support for external templateCodeGen in CMake.

Scientific Software - Peer-reviewed - C++
Published by jbreue16 9 months ago

CADET-Core 5.0 - Pre-Release of v5.0.4

Scientific Software - Peer-reviewed - C++
Published by jbreue16 9 months ago

CADET-Core 5.0 - Version 5.0.3

CADET-Core v5.0.3 is a patch-release to remedy a bug and update the documentation.

What's Changed

Fixed

  • Do not return coordinates for singleton dimensions in https://github.com/cadet/CADET-Core/pull/339
  • Add exception for non-parallelized code when NTHREADS > 1 in https://github.com/cadet/CADET-Core/pull/342

Updated

  • Update documentation in https://github.com/cadet/CADET-Core/pull/327
  • Update issue templates in https://github.com/cadet/CADET-Core/pull/343

Full Changelog: https://github.com/cadet/CADET-Core/compare/v5.0.2...v5.0.3

Scientific Software - Peer-reviewed - C++
Published by jbreue16 about 1 year ago

CADET-Core 5.0 - Version 5.0.2

CADET-Core v5.0.2 is a patch-release to remedy two bugs and update the documentation.

Updated

  • Documentation: AED isotherm and RCD theory #295

Changed

  • Modularization of the MCT in preparation of further (non-linear) cross-channel transport models #257

Fixed

  • Fix multiple bindings configuration bug in binding mode specification #329
  • Resolve interface inconsistencies between CLI and C-API #335

Full Changelog: https://github.com/cadet/CADET-Core/compare/v5.0.1...v5.0.2

Scientific Software - Peer-reviewed - C++
Published by jbreue16 about 1 year ago

CADET-Core 5.0 - Version 5.0.1

CADET-Core v5.0.1 is a bug-fix release to remedy two bugs introduced in v5.0.0 and update the documentation.

Fixed

  • #310: Fix time-derivative Jacobian of the CSTR.
  • #311: Fix backwards compatibility of the CSTR.
  • #312 and more: Fix several typos and extend the documentation.

Scientific Software - Peer-reviewed - C++
Published by ronald-jaepel over 1 year ago

CADET-Core 5.0 - Version 5.0.0

CADET-Core v5.0.0 is the culmination of years 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.

Added

  • Spatial DGSEM discretization: Added spatial DGSEM discretization to enhance computational performance of chromatography models (see #110 and #190 and our corresponding publication). Please refer to the updated documentation for information on optimal discretization parameters.
  • Crystallization: Added crystallization models in CSTR and DPFR (see #112 and our corresponding publication)
  • Radial flow chromatography: Added radial flow chromatography models (rLRM, rLRMP, rGRM) (see #120)
  • New Unit Operation: Multichannel transport model: Added multichannel transport (MCT) model (see #95, the MCT documentation and our publication)
  • AD Jacobians: Automatic computation of binding model Jacobians using automatic differentiation (AD), independently from other modules such as transport (see #220).
  • New Reaction Model: Michaelis-Menten kinetics: Added basic Michaelis-Menten kinetics have been added, (see #180 and the added documentation)
  • New C-API: Finalized a simple C interface to libcadet to improve simulation startup and output speeds (see #115)
  • Infrastructure: Added a parameter dependency system and first parameter-on-parameter dependencies (see #120)

Updated

  • Improved performance: Switch from full Newton to modified Newton method in SUNDIALS. (see #196) and more (#219, #269), which further improves performance when combined with the added spatial DGSEM discretization.
  • Simplified build: Streamlined build process for various platforms, including improved Windows build instructions (see #153).
  • Test coverage: Unit tests for all transport and binding models
  • Documentation:

Changed

  • Model interface: Separated model parameters from discretization parameters in the input file for cleaner configuration. Backward compatibility with the previous interface has been maintained (see #177).
  • CSTR model: Enhanced the CSTR model to support variable porosity (see #211 and #245).
  • Stability improvements: Add linearization to mobile phase modulator langmuir binding (see #261)

Deprecated

  • MATLAB interface: The MATLAB interface has been officially deprecated.

Fixed

  • #138: Fix includes when compiling tests without 2D GRM enabled.
  • #150: Fix missing CSTR bulk solution export.
  • #155: Fix and expand tests.
  • #198: Fix timing precision.
  • #199: Fix Eigen include headers and CMake include directories.
  • #218: Fix CI badge.
  • #243: Fix compiler error when using C++23 standard.
  • #264: Fix narrowing conversion in LRMPDG for cadetparallelize code block.
  • #267: Fix optional build of DG units.
  • #286: Fix CSTR interface documentation and ensure backward compatibility.
  • #294: Fix test interdependencies.

Scientific Software - Peer-reviewed - C++
Published by jbreue16 over 1 year ago

CADET-Core 5.0 - Version 4.4.0

This is a minor release bundling some recent fixes and adding LDF and HIC isotherms.

Added

  • Added simple C interface to libcadet (cd32fc4)
  • Added linear driving force implementations of certain isotherms (bee06f64c7a44b7bb41b8e7442e6f7d3b3bca082), see docs:
    • Freundlich LDF
    • Multi-component-Langmuir LDF
    • Multi-component-Langmuir LDF liquid phase
    • Multi-component-Bi-Langmuir LDF
  • Added 2 HIC Isotherms: (6e93126ef9813dae93b8a408d9fe627d0dcab7a8) (#121)
    • Water on Hydrophobic Surfaces (#116), see.
    • HIC based on Constant Water Activity (#118), see. ### Fixed
  • Fixed solution dimensions for lumped rate model with pores (#133)
  • Fix consistent initial state for linear isotherm (b62b890d44097b26f702c4c59780c8b6dc36a29b) (#106)
  • Fix issue with consistent initialization of LRM (f40f239a10c1455b5b078ca724450d09d2853249) (#107)
  • Fixed return config validation in SolutionRecorder (8070044dff8953997d8ebb41483cfbc089637891)
  • Fixed binding model tests that use external funcs (761d9cd9a68ffa7210795d99f791db51ae870bc1)
  • Fixed compiling issues with C API on Mac OS (3efce73eba24a60fc81b3046d95d250a3ae9078f)
  • Fixed HDF5 writer when using blocks (which sometimes just wrote zeros to the h5 file) (43424e24dd066cf08636fcab8739877187450805)
  • Fixed build error for non-Windows systems (8fd1f23dc50cb23e2bc939a3bfdb3ccb217eba5a)
  • Fixed reaction Jacobian in models without bound phase (bab4763336a426b4b9ac930a8c5455a88a6a21d6)
  • Fixed bugs in solution exporter implementation (4eeeed5ec020f706361deedbe9fe804db98c8007)

Changed

  • Changed writing output from pull to push model (c32c426ba6e8439783eec0e1434b5ac1d14c1365)
  • Removed Kumar-Langmuir Binding Model from documentation, which is a special case of Mobile Phase Modulator Langmuir Model (Kumar is still available). (7ca23285bd52da734fd019da1b9b1e7815811924) (#119)

Updated

  • Updated installation instructions (a454522a50d828bc483718f416fd5b7c7636b912)
  • Updated documentation: (commits 8747d94, 783a3d0, a3c2677)
    • Improved documentation of discretization (783a3d097bf8a9573f64d2613865d1e4441e4adb)
    • Update docs on linear solution mode heuristic (a3c2677a08296ca9aa636afaf58f55b4e6e56d4b)

Scientific Software - Peer-reviewed - C++
Published by jbreue16 over 2 years ago

CADET-Core 5.0 - Version 4.3.0

This is a minor release to bundle some recent fixes and prepare for publication on conda-forge.

Added

  • Added flag to save last state of each unit separately. (#23) (fc4bc2d)
  • Write solution when time integration fails. (35d7aac)
  • Added signal handling to cadet-cli. Handles CTRL+C, or SIGINT in cadet-cli. (1a1c60a)

Fixed

  • Fixed handling of column flow direction in combination with dynamic flow rates. (#96) (2e0af62)
  • Fixed missing include <iterator> for VS2017 Windows conda build. (c63f1dd)
  • Fix problem with negative NTHREADS values. (#83) (c832f68)

Changed

  • Improved handling of INIT_STATE_Y & INIT_STATE_YDOT. (435c79e)
  • Complete overhaul of documentation (see https://cadet.github.io). This (almost) removes the need for the separate CADET-Website repository which is now only used as proxy for triggering workflows until CI is fully updated. This update also automatically builds the documentation for each release of CADET and includes links to the documentation of subprojects such as CADET-Match. Deprecates old LaTeX documentation. (#66)

Scientific Software - Peer-reviewed - C++
Published by schmoelder over 4 years ago

CADET-Core 5.0 - Version 4.2.0

Minor changes: - Inlet concentration now returns the actual inlet concentration instead of the concentration in the first axial cell. - Outlet and inlet concentrations of a unit operation are assigned with respect to flow direction. - Add a colloidal binding model developed by the group of Lenhoff at University of Delaware - Pore and surface diffusion coefficients may depend on concentration (i.e., support for nonlinear pore and surface diffusion) - Generalized ion exchange binding model now uses separate normalization concentrations for the pH dependent terms - Make ADSORPTION_MODEL optional in unit operations (defaults to NONE) - Many bugfixes

Major internal changes: - Add SUNDIALS 3.2.1 to distribution and optionally support external SUNDIALS code - Fix many compiler warnings on Linux and MacOS - Require a C++17 compiler - Support binary distribution of Intel oneTBB

Scientific Software - Peer-reviewed - C++
Published by sleweke over 4 years ago

CADET-Core 5.0 - Version 4.1.0

Major changes: - Dynamic flow rates: Flow rates can depend on time (cubic polynomial) - Performance optimization for acyclic systems of unit operations: Force serial or parallel mode by setting LINEAR_SOLUTION_MODE - Particle geometries: Add support for cylinders and slabs

Minor changes: - Fix convergence order problem for rapid-equilibrium binding with surface diffusion - Parallelize consistent initialization on system level - Extended mobile phase modulators binding model with linear binding for selected components - Fix ParameterFit Matlab class - Fix reactions in CSTR - Fix reactions in DPFR / non-binding LRM

Non-breaking changes in the file format: - Allows CONNECTIONS list to have 3 additional columns for flow rate polynomial coefficients if CONNECTIONS_INCLUDE_DYNAMIC_FLOW is enabled.

Major internal changes: - Improved CMake build system - Remove ADOL-C from distribution - Fix Travis and AppVeyor CI - Split ModelSystemImpl.cpp into multiple files

Scientific Software - Peer-reviewed - C++
Published by sleweke over 5 years ago

CADET-Core 5.0 - Version 4.0.1

Major changes: - Fix backwards incompatible file format change (addition of PORTXYZ_ to dataset names) - Fix Matlab interface bugs (ports, StirredTankModel)

Minor changes: - Fix Windows build problems - Update build instructions - Fix bug when using equidistant particle discretization and core-shell beads - Minor fixes and improvements

Scientific Software - Peer-reviewed - C++
Published by sleweke almost 6 years ago

CADET-Core 5.0 - Version 3.1.3

Major changes: - Add a command line tool to convert input files between formats (JSON, HDF5, XML). - Make initial conditions true parameters which can be used for sensitivities. - Improve file format documentation layout. - Fix problems when using externally dependent binding models with multithreading. - Add support for multiple particle types in the GRM. - Add support for core shell particles in GRM.

Non-breaking changes in the file format: - Additional field PAR_CORERADIUS for core shell particle support. - Additional field PAR_TYPE_VOLFRAC and groups adsorption_XYZ for multiple particle type support.

Major internal changes: - Add support for SUNDIALS v3.0.0 and above. - Update CATCH to CATCH2. - Add continuous integration (Travis CI and AppVeyor CI). - Unify file IO. - Fix a lot of bugs (e.g., memory related, consistent initialization). - Binding models use a custom template processor pre-build step to save boilerplate code.

Scientific Software - Peer-reviewed - C++
Published by sleweke almost 6 years ago

CADET-Core 5.0 - Version 3.1.4

Major changes: - Add multiple particle type support to LRMP and CSTR unit operations - Allow particle volume fractions to depend on the axial coordinate in LRMP and GRM models.

Internal changes: - Added more tests (e.g., for flux part of Jacobian)

Scientific Software - Peer-reviewed - C++
Published by sleweke almost 6 years ago

CADET-Core 5.0 - Version 3.2.0

Major changes: - Add 2D general rate model variant. - Add support for multiple ports in unit operations. - Parameter multiplexing for initial conditions and particle-type dependent parameters (including binding models). This allows, for example, to specify just one value for all particle types.

Minor changes: - Make axial dispersion coefficient component-dependent in all column models.

Breaking changes in the file format: - CONNECTIONS list is now 7 columns wide (2 additional columns for source and destination ports). - SOLUTION_OUTLET, SOLUTION_INLET, SOLDOT_OUTLET, SOLDOT_INLET, SENS_OUTLET, SENS_INLET, SENSDOT_OUTLET, SENSDOT_INLET now return the solution for all unit operation ports. When SPLIT_PORTS_DATA and SPLIT_COMPONENTS_DATA are both disabled, a 3d array is returned. When SPLIT_PORTS_DATA is enabled, the usual 2d arrays (SPLIT_COMPONENTS_DATA disabled) or many 1d arrays (SPLIT_COMPONENTS_DATA enabled) are returned as usual.

Non-breaking changes in the file format: - Add support for returning discretization node coordinates (useful for plotting) in /output/coordinates. This is enabled by setting /input/return/unit_XXX/WRITE_COORDINATES to 1. - Add several options to control parameter multiplexing for breaking ties or correcting automatic inference.

Major internal changes: - Refactoring of convection dispersion operator code. - Add compressed sparse matrix and support for sparse direct solvers (SuperLU, UMFPACK). The Matlab MEX interface automatically uses Matlab's UMFPACK library. - Added and fixed bugs in tests. - Refactoring of some function signatures by grouping common parameters into structs.

Scientific Software - Peer-reviewed - C++
Published by sleweke almost 6 years ago

CADET-Core 5.0 - Version 4.0.0

Major changes: - Added dynamic reaction terms to all unit operation models. - IS_KINETIC field of binding models can now be set on per-bound-state basis.

Minor changes: - Added radial column position to external function interface. - Added progress bar to cadet-cli. The bar is enabled by calling cadet-cli --progress.

Non-breaking changes in the file format: - Allows CONNECTIONS list to have 5 columns (port indices are omitted) in case of missing multi-port unit operations. A 7 column list can be used if CONNECTIONS_INCLUDE_PORTS is enabled.

Major internal changes: - Modernized CMake build system. - Refactored scratch memory interface and added thread local storage. - Simplified AD library. - Removed timeFactor and time transformation. - Moved consistent initialization from binding models to unit operations.

Scientific Software - Peer-reviewed - C++
Published by sleweke almost 6 years ago

CADET-Core 5.0 - Version 3.1.2

Major changes: - Add variable volume continuous stirred-tank reactor model (supports binding for batch uptake experiments). - Add lumped rate model without pores (e.g., equilibrium dispersive model, DPFR, PFR). - Add lumped rate model with pores. - Add support for size exclusion chromatography (models can be run without binding model, PORE_ACCESSIBILITY provides component dependent porosities). - Add a lot of tests for various vital parts (Jacobians, parameter sensitivities). - Add row equilibration to consistent initialization (nonlinear solvers, linear systems) for improved precision. - Fix a lot of bugs. - Add JSON as input file format to cadet-cli. - Improve documentation.

Breaking changes in the file format: - In output datasets: SOLUTION_PARTICLE no longer contains mobile and solid phase, but only the mobile phase. The same holds for SOLDOT_PARTICLE, SENS_PARTICLE, SENSDOT_PARTICLE. - Added SOLUTION_SOLID (SOLDOT_SOLID, SENS_SOLID, SENSDOT_SOLID) output dataset which stores the solid phase. - Added WRITE_XYZ_SOLID field to /input/return/unit_ABC for configuring whether the solid phase is returned. - In return configuration rename WRITE_XYZ_COLUMN_ABC to WRITE_XYZ_ABC (e.g., WRITE_SOLUTION_COLUMN_INLET -> WRITE_SOLUTION_INLET). Note that the old return configuration fields are still supported for compatibility, but this may change at any time. - In output datasets rename XYZ_COLUMN_ABC to XYZ_ABC (e.g., SENSDOT_COLUMN_OUTLET -> SENSDOT_OUTLET). - In /meta change FILE_FORMAT version field from string to int. Versions of the type Major.Minor.Patch are assumed to have only two digits for each part. This number is encoded in an int by concatenating the parts (e.g., „02.12.78" -> 21278). - In return configuration rename WRITE_XYZ_COLUMN to WRITE_XYZ_BULK (e.g., WRITE_SENS_COLUMN -> WRITE_SENS_BULK). - In output datasets rename XYZ_COLUMN to XYZ_BULK (e.g., SOLDOT_COLUMN -> SOLDOT_BULK). - In /meta rename SIMTIME to TIME_SIM.

Non-breaking changes in the file format: - In return configuration add WRITE_XYZ_VOLUME (e.g., WRITE_SOLUTION_VOLUME) to indicate that the volume should be returned if it is available (e.g., CSTR). - In output datasets add XYZ_VOLUME datasets (e.g., SOLUTION_VOLUME). - Expose some time integrator (IDAS) settings to the user (e.g., number of Newton iterations, sensitivity error test).

Major internal changes: - Change state ordering from component-major to cell-major in the bulk block of the GRM. - Reduce duplicated and boilerplate code (especially in binding models). - Changes in some internal interfaces necessitated by CSTR implementation.

Scientific Software - Peer-reviewed - C++
Published by sleweke almost 8 years ago

CADET-Core 5.0 - Version 3.1.0

CADET has been extended to support networks of unit operations. Many more changes have been made and the most important ones are listed below. Note that the interface has changed and breaking changes had to be introduced.

Major changes: - Full support for strongly coupled networks of unit operations (CADET now natively simulates SMB and other multi-column processes) - Support for backwards flow in General Rate Model - Replace OpenMP parallelization by Intel Threading Building Blocks - Add some behavior tests using the CATCH unit testing framework - Extended documentation (improved manual) - Improved CMake build system

Scientific Software - Peer-reviewed - C++
Published by sleweke over 8 years ago

CADET-Core 5.0 - Version 3.1.1

Besides some minor fixes, the following multi-state binding models are introduced in this release: - Multi-state steric mass action (multi-state SMA) - Simplified multi-state SMA - Multi-component spreading

The Windows version is built with Visual Studio 2017 and CADET requires the corresponding runtime files in order to run. Almost all systems will already have these files. However, if CADET does not work on your system, your system might not have those runtime libraries. In this case, you can download them for free from Microsoft.

Scientific Software - Peer-reviewed - C++
Published by sleweke over 8 years ago

CADET-Core 5.0 - Version 3.0.0

CADET has been (almost fully) rewritten with a complete new OOP / code architecture. The rewrite enables and eases the implementation of new features in the near future and has improved stability as well as performance of the simulation.

Major highlights: - Completely new code architecture - Increased single- and multi-core performance - Improved documentation (quality and quantity) - Improved MATLAB interface and examples - Preparations for upcoming features (networks of unit operations and support of reaction terms) - Consistent initialization of the DAE solver - Modernized CMake build system - Native support of joined parameters via AD

Unfortunately, the changes are breaking, that is, users have to migrate their code to the new version.

The Windows version is built with Visual Studio 2015 and CADET requires the corresponding runtime files in order to run. Almost all systems will already have these files. However, if CADET does not work on your system, your system might not have those runtime libraries. In this case, you can download them for free from Microsoft.

Scientific Software - Peer-reviewed - C++
Published by sleweke about 9 years ago

CADET-Core 5.0 - Version 2.3.2

Bug fix release: - Fix ignored number of threads setting. - Fix ignored sensitivity output mode (WRITESENSALL).

No breaking changes.

Scientific Software - Peer-reviewed - C++
Published by sleweke almost 11 years ago

CADET-Core 5.0 - Version 2.3.1

Major improvements since last release: - Reduced memory consumption by not saving full states for each time point. The appropriate data is saved depending on the requested output. This results in substantial memory savings if only the column outlet is requested. - Add support for weighting single data points in fitColumn. - Add separate initial condition for bead liquid phase c_pi. - Add support for batch resin uptake models by allowing a zero interstitial velocity. - Fix a bug when writing last sensitivity state.

No breaking changes.

Scientific Software - Peer-reviewed - C++
Published by sleweke almost 11 years ago

CADET-Core 5.0 - Version 2.3.0

Major improvements since last release: - Add support for resuming simulations by reading and writing the full state vectors of main and sensitivity systems. Using a previously saved state vector as initial condition resumes the simulation. - fitColumn script now takes custom optimizer settings as argument - Add /meta group to file format. This group holds various data, such as the file format version (for backwards compatibility in the future) and receives meta data from the simulator (e.g., version info, git commit hash etc.). - Improve CMake scripts (e.g., git integration) - Minor improvements to TeX documentation - Bug fixes and error checks in Matlab scripts (especially in fitColumn)

No breaking changes.

Scientific Software - Peer-reviewed - C++
Published by sleweke about 11 years ago

CADET-Core 5.0 - Version 2.2.1

Major improvements since last release: - Significantly improved performance and scaling - Update notifications in MATLAB interface

No breaking changes.

Scientific Software - Peer-reviewed - C++
Published by sleweke over 11 years ago

CADET-Core 5.0 - Version 2.2.0

Major improvements since last release: - Transport related parameters can depend on the current section - MATLAB Mex interface can receive log messages - Support for binding models with second bound state - New binding models: Bi-Langmuir, Linear - Support for external profiles in Mobile Phase Modulators and Steric Mass Action - Install script for MATLAB interface and improved compatibility with older MATLAB versions (down to R2009) - New examples - Some bugfixes

Breaking changes since last release: - The fitColumn script has a different signature due to the following improvements or changes: logScale is adjustable per parameter, custom parameter transforms can be applied, independent weighting of measurements and experiments

Binaries are provided for Windows 7 (64 bit with 64 bit MATLAB; 32 bit with 32 bit MATLAB) and Windows XP (32 bit with 32 bit MATLAB). Please choose the corresponding file.

Scientific Software - Peer-reviewed - C++
Published by sleweke almost 12 years ago

CADET-Core 5.0 - Version 2.1.0

First release on GitHub after relocation from SourceForge.net and taking over the project from Sebastian Schnittert.

Changes since the last release on SourceForge.net: - Complete rewrite of the MATLAB interface (breaking change) - Adds native MATLAB MEX interface - Restructuring of file format (breaking change) - Add LaTeX documentation to repo - Change inlet specification to a proper spline (breaking change) - Add regression test for selected benchmarks - Simplify build process by distributing ADOL-C along with CADET - Support Clang on Mac OS X - Fix various bugs (32 bit errors in HDF5 related code) - Fix and enhance git support in CMake scripts - Add version info to binaries - Add workaround for strange OpenMP parallelization problem

Binaries are provided for Windows 7 (64 bit with 64 bit MATLAB; 32 bit with 32 bit MATLAB) and Windows XP (32 bit with 32 bit MATLAB). Please choose the corresponding file.

Scientific Software - Peer-reviewed - C++
Published by sleweke about 12 years ago