You're reading the documentation for a development version. For the latest released version, please have a look at v5.1.0.
Multichannel Transport model (MCT model)¶
Group /input/model/unit_XXX - UNIT_TYPE = MULTI_CHANNEL_TRANSPORT¶
For information on model equations, refer to Multichannel Transport model (MCT model).
UNIT_TYPE
Specifies the type of unit operation model
Type: string
Range: \(\texttt{MULTI_CHANNEL_TRANSPORT}\)
Length: 1
NCOMP
Number of chemical components in the chromatographic medium
Type: int
Range: \(\geq 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
INIT_C
Initial concentrations for each component in all channels of the bulk mobile phase (length \(\texttt{NCOMP}\)), or for each component in each channel (length \(\texttt{NCOMP} \cdot \texttt{NCHANNEL}\), ordering channel-major)
Unit: \(\mathrm{mol}\,\mathrm{m}^{-3}\)
Type: double
Range: \(\geq 0\)
Length: \(\texttt{NCOMP} / \texttt{NCOMP} \cdot \texttt{NCHANNEL}\)
INIT_STATE
Full state vector for initialization (optional, \(\texttt{INIT_C}\) will be ignored; if length is \(2\texttt{NDOF}\), then the second half is used for time derivatives). The ordering of the state vector is defined in Unit Operation state vector ordering, similar to 2D models but with channels instead of radial column direction.
Unit: \(various\)
Type: double
Range: \(\mathbb{R}\)
Length: \(\texttt{NDOF} / 2\texttt{NDOF}\)
COL_DISPERSION
Axial dispersion coefficient. In case of a spatially inhomogeneous setting, the \(\texttt{SENS_PARTYPE}\) field is used for indexing the channel when specifying parameter sensitivities.
Unit: \(\mathrm{m}^{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-, channel-, 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, channel-independent, section-independent; length of \(\texttt{COL_DISPERSION}\) is 1
Component-independent, channel-dependent, section-independent; length of \(\texttt{COL_DISPERSION}\) is \(\texttt{NCHANNEL}\)
Component-dependent, channel-independent, section-independent; length of \(\texttt{COL_DISPERSION}\) is \(\texttt{NCOMP}\)
Component-dependent, channel-dependent, section-independent; length of \(\texttt{COL_DISPERSION}\) is \(\texttt{NCOMP} \cdot \texttt{NCHANNEL}\); ordering is channel-major
Component-independent, channel-independent, section-dependent; length of \(\texttt{COL_DISPERSION}\) is \(\texttt{NSEC}\)
Component-independent, channel-dependent, section-dependent; length of \(\texttt{COL_DISPERSION}\) is \(\texttt{NCHANNEL} \cdot \texttt{NSEC}\); ordering is section-major
Component-dependent, channel-independent, section-independent; length of \(\texttt{COL_DISPERSION}\) is \(\texttt{NCOMP} \cdot \texttt{NSEC}\); ordering is section-major
Component-dependent, channel-dependent, section-dependent; length of \(\texttt{COL_DISPERSION}\) is \(\texttt{NCOMP} \cdot \texttt{NCHANNEL} \cdot \texttt{NSEC}\); ordering is section-channel-major
Type: int
Range: \(\{0, \dots, 7 \}\)
Length: 1
COL_LENGTH
Column length
Unit: \(\mathrm{m}\)
Type: double
Range: \(> 0\)
Length: 1
VELOCITY
Velocity
Unit: \(\mathrm{m}\,\mathrm{s}^{-1}\)
Indicates flow direction in each channel (forward if value is positive, backward if value is negative), see Section Specification of flow rate / velocity and direction). In case of a spatially inhomogeneous setting, the \(\texttt{SENS_PARTYPE}\) field is used for indexing the channel when specifying parameter sensitivities.
Type: double
Range: \(\mathbb{R}\)
Length: see \(\texttt{VELOCITY_MULTIPLEX}\)
VELOCITY_MULTIPLEX
Multiplexing mode of \(\texttt{VELOCITY}\). Determines whether \(\texttt{VELOCITY}\) is treated as channel- and/or section-independent. This field is optional. When left out, multiplexing behavior is inferred from the length of \(\texttt{VELOCITY}\). Valid modes are:
Channel-independent, section-independent; length of \(\texttt{VELOCITY}\) is 1
Channel-dependent, section-independent; length of \(\texttt{VELOCITY}\) is \(\texttt{NCHANNEL}\)
Section-dependent; length of \(\texttt{VELOCITY}\) is \(\texttt{NSEC}\)
Channel-dependent, section-dependent; length of \(\texttt{VELOCITY}\) is \(\texttt{NCHANNEL} \cdot \texttt{NSEC}\); ordering is section-major
Type: int
Range: \(\{0, \dots, 3 \}\)
Length: 1
EXCHANGE_MATRIX
Exchange matrix
Unit: \(\mathrm{s}^{-1}\)
Ordered list containing all exchange rates \(e^k_{ij}\) for component \(k\) from compartment \(i\) to \(j\) based on the exchange matrix \(E^k\). The vector ordering is source channel - destination channel - component (i.e. i-j-k) major.
\[\begin{split}E^k=\begin{bmatrix} 0 & e^k_{12} & \dots & e^k_{1N} \\ e^k_{21} & \ddots & & \vdots\\ \vdots & & \ddots & e^k_{(N-1)N}\\ e^k_{N1} & \dots & e^k_{N(N-1)} & 0 \end{bmatrix}\end{split}\]For addressing the exchange rates as a parameter senstivity, the mapping is as follows:
\(\texttt{SENS_BOUNDPHASE}\) Channel from
\(\texttt{SENS_PARTYPE}\) Channel to
Type: double
Range: \([0,1]\)
Length: \(\texttt{NCHANNEL}*\texttt{NCHANNEL}*\texttt{NCOMP}\)
NCHANNEL
Number of channels \(ij\)
Type: int
Range: \(\geq 1\)
Length: 1
CHANNEL_CROSS_SECTION_AREAS
Cross section areas
Unit: \(\mathrm{m}^{2}\)
Defines the cross section area of each channel
Type: double
Range: \(> 0\)
Length: \(\texttt{NCHANNEL}\)
Group /input/model/unit_XXX/discretization - UNIT_TYPE = MULTI_CHANNEL_TRANSPORT¶
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
NCOL
Number of axial column discretization cells
Type: int
Range: \(\geq 1\)
Length: 1
LINEAR_SOLVER_BULK
Linear solver used for the sparse column bulk block. This field is optional, the best available method is selected (i.e., sparse direct solver if possible). Valid values are:
\(\texttt{DENSE}\) Converts the sparse matrix into a banded matrix and uses regular LAPACK. Slow and memory intensive, but always available.
\(\texttt{UMFPACK}\) Uses the UMFPACK sparse direct solver (LU decomposition) from SuiteSparse. Fast, but has to be enabled when compiling and requires UMFPACK library.
\(\texttt{SUPERLU}\) Uses the SuperLU sparse direct solver (LU decomposition). Fast, but has to be enabled when compiling and requires SuperLU library.
Type: string
Range: \(\{\texttt{DENSE},\texttt{UMFPACK},\texttt{SUPERLU}\}\)
Length: 1
RECONSTRUCTION
Type of reconstruction method for FV fluxes
Type: string
Range: \(\texttt{WENO}\)
Length: 1
For further discretization parameters, see also Flux reconstruction methods (FV specific)), and Nonlinear solver for consistent initialization.