You're reading an old version of this documentation. For the latest released version, please have a look at v5.0.1.
General Rate Model¶
Group /input/model/unit_XXX - UNIT_TYPE - GENERAL_RATE_MODEL¶
UNIT_TYPE
Specifies the type of unit operation model
Type: string
Range: \(\texttt{GENERAL_RATE_MODEL}\)
Length: 1
NCOMP
Number of chemical components in the chromatographic medium
Type: int
Range: \(\geq 1\)
Length: 1
ADSORPTION_MODEL
Specifies the type of binding model of each particle type (or of all particle types if length is \(1\))
Type: string
Range: Binding models
Length: \(1 / \texttt{NPARTYPE}\)
ADSORPTION_MODEL_MULTIPLEX
Multiplexing mode of \(\texttt{ADSORPTION_MODEL}\). If set to \(0\), each particle type has a different binding model and the length of \(\texttt{ADSORPTION_MODEL}\) is \(\texttt{NPARTYPE}\). If set to \(1\), all particle types share the same binding model and the length of \(\texttt{ADSORPTION_MODEL}\) is \(1\). This field is optional and inferred from the length of \(\texttt{ADSORPTION_MODEL}\) if left out.
Type: int
Range: \(\{0, 1\}\)
Length: 1
REACTION_MODEL_BULK
Specifies the type of reaction model of the bulk volume. The model is configured in the subgroup \(\texttt{reaction_bulk}\).
Type: string
Range: See Section Reaction models
Length: 1
REACTION_MODEL_PARTICLES
Specifies the type of reaction model of each particle type (or of all particle types if length is \(1\)). The model is configured in the subgroup \(\texttt{reaction_particle}\), or \(\texttt{reaction_particle_XXX}\) in case of disabled multiplexing.
Type: string
Range: See Section Reaction models
Length: \(1 / \texttt{NPARTYPE}\)
REACTION_MODEL_PARTICLES_MULTIPLEX
Multiplexing mode of \(\texttt{REACTION_MODEL_PARTICLES}\). If set to \(0\), each particle type has a different reaction model and the length of \(\texttt{REACTION_MODEL_PARTICLES}\) is \(\texttt{NPARTYPE}\). If set to \(1\), all particle types share the same reaction model and the length of \(\texttt{REACTION_MODEL_PARTICLES}\) is \(1\). This field is optional and inferred from the length of \(\texttt{REACTION_MODEL_PARTICLES}\) if left out.
Type: int
Range: \(\{0, 1\}\)
Length: 1
INIT_C
Initial concentrations for each component in the bulk mobile phase
Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\)
Type: double
Range: \(\geq 0\)
Length: \(\texttt{NCOMP}\)
INIT_CP
Initial concentrations for each component in the bead liquid phase (optional, \(\texttt{INIT_C}\) is used if left out). The length of this field can be \(\texttt{NCOMP}\) (same values for each particle type) or \(\texttt{NPARTYPE} \cdot \texttt{NCOMP}\) Values for each particle type can only be given when \(\texttt{ADSORPTION_MODEL_MULTIPLEX}\) is \(0\). The ordering is type-major.
Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{MP}}^{-3}\)
Type: double
Range: \(\geq 0\)
Length: \(\texttt{NCOMP} / \texttt{NPARTYPE} \cdot \texttt{NCOMP}\)
INIT_Q
Initial concentrations for each bound state of each component in the bead solid phase. If \(\texttt{ADSORPTION_MODEL_MULTIPLEX}\) is \(0\), values for each particle type are required in type-component-major ordering (length is \(\texttt{NTOTALBND}\)). If \(\texttt{ADSORPTION_MODEL_MULTIPLEX}\) is \(1\), values for one particle type are required in component-major ordering (length is \(\sum_{i = 0}^{\texttt{NCOMP} - 1} \texttt{NBND}_i\)).
Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{SP}}^{-3}\)
Type: double
Range: \(\geq 0\)
INIT_STATE
Full state vector for initialization (optional, \(\texttt{INIT_C}\), \(\texttt{INIT_CP}\), and \(\texttt{INIT_Q}\) will be ignored; if length is \(2\texttt{NDOF}\), then the second half is used for time derivatives)
Unit: \(various\)
Type: double
Range: \(\mathbb{R}\)
Length: \(\texttt{NDOF} / 2\texttt{NDOF}\)
COL_DISPERSION
Axial dispersion coefficient
Unit: \(\mathrm{m}_{\mathrm{IV}}^{2}\,\mathrm{s}^{-1}\)
Type: double
Range: \(\geq 0\)
Length: see \(\texttt{COL_DISPERSION_MULTIPLEX}\)
COL_DISPERSION_MULTIPLEX
Multiplexing mode of \(\texttt{COL_DISPERSION}\). Determines whether \(\texttt{COL_DISPERSION}\) is treated as component- and/or section-independent. This field is optional. When left out, multiplexing behavior is inferred from the length of \(\texttt{COL_DISPERSION}\). Valid modes are:
Component-independent, section-independent; length of \(\texttt{COL_DISPERSION}\) is \(1\)
Component-dependent, section-independent; length of \(\texttt{COL_DISPERSION}\) is \(\texttt{NCOMP}\)
Component-independent, section-dependent; length of \(\texttt{COL_DISPERSION}\) is \(\texttt{NSEC}\)
Component-dependent, section-dependent; length of \(\texttt{COL_DISPERSION}\) is \(\texttt{NCOMP} \cdot \texttt{NSEC}\); ordering is section-major
Type: int
Range: \(\{0, \dots, 3 \}\)
Length: 1
COL_LENGTH
Column length
Unit: \(\mathrm{m}\)
Type: double
Range: \(> 0\)
Length: 1
COL_POROSITY
Column porosity
Type: double
Range: \((0,1]\)
Length: 1
FILM_DIFFUSION
Film diffusion coefficients for each component of each particle type
Unit: \(\mathrm{m}\,\mathrm{s}^{-1}\)
Type: double
Range: \(\geq 0\)
Length: see \(\texttt{FILM_DIFFUSION_MULTIPLEX}\)
FILM_DIFFUSION_MULTIPLEX
Multiplexing mode of \(\texttt{FILM_DIFFUSION}\). Determines whether \(\texttt{FILM_DIFFUSION}\) is treated as component-, type-, and/or section-independent. This field is optional. When left out, multiplexing behavior is inferred from the length of \(\texttt{FILM_DIFFUSION}\). Valid modes are:
Component-dependent, type-independent, section-independent; length of \(\texttt{FILM_DIFFUSION}\) is \(\texttt{NCOMP}\)
Component-dependent, type-independent, section-dependent; length of \(\texttt{FILM_DIFFUSION}\) is \(\texttt{NCOMP} \cdot \texttt{NSEC}\); ordering is section-major
Component-dependent, type-dependent, section-independent; length of \(\texttt{FILM_DIFFUSION}\) is \(\texttt{NCOMP} \cdot \texttt{NPARTYPE}\); ordering is type-major
Component-dependent, type-dependent, section-dependent; length of \(\texttt{FILM_DIFFUSION}\) is \(\texttt{NCOMP} \cdot \texttt{NPARTYPE} \cdot \texttt{NSEC}\); ordering is section-type-major
Type: int
Range: \(\{0, \dots, 3 \}\)
Length: 1
PAR_POROSITY
Particle porosity of all particle types or for each particle type
Type: double
Range: \((0,1]\)
Length: \(1 / \texttt{NPARTYPE}\)
PAR_RADIUS
Particle radius of all particle types or for each particle type
Unit: \(\mathrm{m}\)
Type: double
Range: \(>0\)
Length: \(1 / \texttt{NPARTYPE}\)
PAR_CORERADIUS
Particle core radius of all particle types or for each particle type (optional, defaults to \(\mathrm{m}\))
Unit: \(\mathrm{m}\)
Type: double
Range: \([0, \texttt{PAR_RADIUS})\)
Length: \(1 / \texttt{NPARTYPE}\)
PORE_ACCESSIBILITY
Pore accessibility factor of each component in each particle type (optional, defaults to \(1\)). Note: Should not be used in combination with any binding model!
Type: double
Range: \((0, 1]\)
Length: see \(\texttt{PORE_ACCESSIBILITY_MULTIPLEX}\)
PORE_ACCESSIBILITY_MULTIPLEX
Multiplexing mode of \(\texttt{PORE_ACCESSIBILITY}\). Determines whether \(\texttt{PORE_ACCESSIBILITY}\) is treated as component-, type-, and/or section-independent. This field is optional. When left out, multiplexing behavior is inferred from the length of \(\texttt{PORE_ACCESSIBILITY}\). Valid modes are:
Component-dependent, type-independent, section-independent; length of \(\texttt{PORE_ACCESSIBILITY}\) is \(\texttt{NCOMP}\)
Component-dependent, type-independent, section-dependent; length of \(\texttt{PORE_ACCESSIBILITY}\) is \(\texttt{NCOMP} \cdot \texttt{NSEC}\); ordering is section-major
Component-dependent, type-dependent, section-independent; length of \(\texttt{PORE_ACCESSIBILITY}\) is \(\texttt{NCOMP} \cdot \texttt{NPARTYPE}\); ordering is type-major
Component-dependent, type-dependent, section-dependent; length of \(\texttt{PORE_ACCESSIBILITY}\) is \(\texttt{NCOMP} \cdot \texttt{NPARTYPE} \cdot \texttt{NSEC}\); ordering is section-type-major
Type: int
Range: \(\{0, \dots, 3 \}\)
Length: 1
PAR_DIFFUSION
Effective particle diffusion coefficients of each component in each particle type
Unit: \(\mathrm{m}_{\mathrm{MP}}^{2}\,\mathrm{s}^{-1}\)
Type: double
Range: \(\geq 0\)
Length: see \(\texttt{PAR_DIFFUSION_MULTIPLEX}\)
PAR_DIFFUSION_MULTIPLEX
Multiplexing mode of \(\texttt{PAR_DIFFUSION}\). Determines whether \(\texttt{PAR_DIFFUSION}\) is treated as component-, type-, and/or section-independent. This field is optional. When left out, multiplexing behavior is inferred from the length of \(\texttt{PAR_DIFFUSION}\). Valid modes are:
Component-dependent, type-independent, section-independent; length of \(\texttt{PAR_DIFFUSION}\) is \(\texttt{NCOMP}\)
Component-dependent, type-independent, section-dependent; length of \(\texttt{PAR_DIFFUSION}\) is \(\texttt{NCOMP} \cdot \texttt{NSEC}\); ordering is section-major
Component-dependent, type-dependent, section-independent; length of \(\texttt{PAR_DIFFUSION}\) is \(\texttt{NCOMP} \cdot \texttt{NPARTYPE}\); ordering is type-major
Component-dependent, type-dependent, section-dependent; length of \(\texttt{PAR_DIFFUSION}\) is \(\texttt{NCOMP} \cdot \texttt{NPARTYPE} \cdot \texttt{NSEC}\); ordering is section-type-major
Type: int
Range: \(\{0, \dots, 3 \}\)
Length: 1
PAR_SURFDIFFUSION
Particle surface diffusion coefficients of each bound state of each component in each particle type (optional, defaults to all 0 \(\mathrm{m}_{\mathrm{SP}}^{2}\,\mathrm{s}^{-1}\))
Unit: \(\mathrm{m}_{\mathrm{SP}}^{2}\,\mathrm{s}^{-1}\)
Type: double
Range: \(\geq 0\)
Length: see \(\texttt{PAR_SURFDIFFUSION_MULTIPLEX}\)
PAR_SURFDIFFUSION_MULTIPLEX
Multiplexing mode of \(\texttt{PAR_SURFDIFFUSION}\). Determines whether \(\texttt{PAR_SURFDIFFUSION}\) is treated as component-, type-, and/or section-independent. This field is optional. When left out, multiplexing behavior is inferred from the length of \(\texttt{PAR_SURFDIFFUSION}\). Valid modes are:
Component-dependent, type-independent, section-independent; length of \(\texttt{PAR_SURFDIFFUSION}\) is \(\texttt{NBND}\); ordering is component-major
Component-dependent, type-independent, section-dependent; length of \(\texttt{PAR_SURFDIFFUSION}\) is \(\texttt{NBND} \cdot \texttt{NSEC}\); ordering is section-component-major
Component-dependent, type-dependent, section-independent; length of \(\texttt{PAR_SURFDIFFUSION}\) is \(\texttt{NTOTALBND}\); ordering is type-component-major
Component-dependent, type-dependent, section-dependent; length of \(\texttt{PAR_SURFDIFFUSION}\) is \(\texttt{NTOTALBND} \cdot \texttt{NSEC}\); ordering is section-type-component-major
Type: int
Range: \(\{0, \dots, 3 \}\)
Length: 1
VELOCITY
Interstitial velocity of the mobile phase (optional if \(\texttt{CROSS_SECTION_AREA}\) is present, see Section Specification of flow rate / velocity and direction)
Unit: \(\mathrm{m}\,\mathrm{s}^{-1}\)
Type: double
Range: \(\mathbb{R}\)
Length: \(1 / \texttt{NSEC}\)
CROSS_SECTION_AREA
Cross section area of the column (optional if \(\texttt{VELOCITY}\) is present, see Section~:ref:MUOPGRMflow)
Unit: \(\mathrm{m}^{2}\)
Type: double
Range: \(>0\)
Length: 1
PAR_TYPE_VOLFRAC
Volume fractions of the particle types. The volume fractions can be set for all axial cells together or for each individual axial cell. For each cell, the volume fractions have to sum to \(1\). In case of a spatially inhomogeneous setting, the data is expected in cell-major ordering and the \(\texttt{SENS_SECTION}\) field is used for indexing the axial cell when specifying parameter sensitivities. This field is optional in case of only one particle type.
Type: double
Range: \([0,1]\)
Length: \(\texttt{NPARTYPE} / \texttt{NCOL} \cdot \texttt{NPARTYPE}\)
Group /input/model/unit_XXX/discretization - UNIT_TYPE - GENERAL_RATE_MODEL¶
NCOL
Number of axial column discretization cells
Type: int
Range: \(\geq 1\)
Length: 1
NPARTYPE
Number of particle types. Optional, inferred from the length of \(\texttt{NPAR}\) or \(\texttt{NBOUND}\) if left out.
Type: int
Range: \(\geq 1\)
Length: 1
NPAR
Number of particle (radial) discretization cells for each particle type
Type: int
Range: \(\geq 1\)
Length: \(1\) / \(\texttt{NPARTYPE}\)
NBOUND
Number of bound states for each component in each particle type in type-major ordering
Type: int
Range: \(\geq 0\)
Length: \(\texttt{NCOMP}\) / \(\texttt{NPARTYPE} \cdot \texttt{NCOMP}\)
PAR_GEOM
Specifies the particle geometry for all or each particle type. Valid values are \(\texttt{SPHERE}\), \(\texttt{CYLINDER}\), \(\texttt{SLAB}\). Optional, defaults to \(\texttt{SPHERE}\).
Type: string
Length: \(1\) / \(\texttt{NPARTYPE}\)
PAR_DISC_TYPE
Specifies the discretization scheme inside the particles for all or each particle type. Valid values are \(\texttt{EQUIDISTANT_PAR}\), \(\texttt{EQUIVOLUME_PAR}\), and \(\texttt{USER_DEFINED_PAR}\).
Type: string
Length: \(1\) / \(\texttt{NPARTYPE}\)
PAR_DISC_VECTOR
Node coordinates for the cell boundaries (ignored if \(\texttt{PAR_DISC_TYPE} \neq \texttt{USER_DEFINED_PAR}\)). The coordinates are relative and have to include the endpoints \(0\) and \(1\). They are later linearly mapped to the true radial range \([r_{c,j}, r_{p,j}]\). The coordinates for each particle type are appended to one long vector in type-major ordering.
Type: double
Range: \([0,1]\)
Length: \(\sum_i (\texttt{NPAR}_i + 1)\)
PAR_BOUNDARY_ORDER
Order of accuracy of outer particle boundary condition. Optional, defaults to \(2\).
Type: int
Range: \(\{ 1,2 \}\)
Length: 1
USE_ANALYTIC_JACOBIAN
Determines whether analytically computed Jacobian matrix (faster) is used (value is \(1\)) instead of Jacobians generated by algorithmic differentiation (slower, value is \(0\))
Type: int
Range: \(\{0, 1\}\)
Length: 1
RECONSTRUCTION
Type of reconstruction method for fluxes
Type: string
Range: \(\texttt{WENO}\)
Length: 1
GS_TYPE
Type of Gram-Schmidt orthogonalization, see IDAS guide Section~4.5.7.3, p.~41f. A value of \(0\) enables classical Gram-Schmidt, a value of 1 uses modified Gram-Schmidt.
Type: int
Range: \(\{0, 1\}\)
Length: 1
MAX_KRYLOV
Defines the size of the Krylov subspace in the iterative linear GMRES solver (0: \(\texttt{MAX_KRYLOV} = \texttt{NCOL} \cdot \texttt{NCOMP} \cdot \texttt{NPARTYPE}\))
Type: int
Range: \(\{0, \dots, \texttt{NCOL} \cdot \texttt{NCOMP} \cdot \texttt{NPARTYPE} \}\)
Length: 1
MAX_RESTARTS
Maximum number of restarts in the GMRES algorithm. If lack of memory is not an issue, better use a larger Krylov space than restarts.
Type: int
Range: \(\geq 0\)
Length: 1
SCHUR_SAFETY
Schur safety factor; Influences the tradeoff between linear iterations and nonlinear error control; see IDAS guide Section~2.1 and 5.
Type: double
Range: \(\geq 0\)
Length: 1
FIX_ZERO_SURFACE_DIFFUSION
Determines whether the surface diffusion parameters \(\texttt{PAR_SURFDIFFUSION}\) are fixed if the parameters are zero. If the parameters are fixed to zero (\(\texttt{FIX_ZERO_SURFACE_DIFFUSION} = 1\), \(\texttt{PAR_SURFDIFFUSION} = 0\)), the parameters must not become non-zero during this or subsequent simulation runs. The internal data structures are optimized for a more efficient simulation. This field is optional and defaults to \(0\) (optimization disabled in favor of flexibility).
Type: int
Range: \(\{0, 1\}\)
Length: 1