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 forSOLDOT_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
toWRITE_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
toXYZ_ABC
(e.g.,SENSDOT_COLUMN_OUTLET
->SENSDOT_OUTLET
). - In
/meta
changeFILE_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
toWRITE_XYZ_BULK
(e.g.,WRITE_SENS_COLUMN
->WRITE_SENS_BULK
). - In output datasets rename
XYZ_COLUMN
toXYZ_BULK
(e.g.,SOLDOT_COLUMN
->SOLDOT_BULK
). - In
/meta
renameSIMTIME
toTIME_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.