Skip to content

Version 3.2.0

Compare
Choose a tag to compare
@sleweke sleweke released this 16 Mar 15:13
· 467 commits to master since this release

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.