Skip to content

Version 3.1.2

Compare
Choose a tag to compare
@sleweke sleweke released this 02 Apr 13:35
· 616 commits to master since this release

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.