Solver Type

In general Dassl works best.

Test Models

The functionality of this library was tested with models which are located in the package Examples. It's a good start to study this models to gain experience in using this library.

Column Types

Four different column types can be found in the package Components.Columns, namely tray column, spray column, random packed column and structured packed column.


There are no special feed segments, each discrete element could be in theory a feed tray. If a column has a feed, the boolean parameter hasLiquidFeed and/or hasVapourFeed in the tab Feed has to be set to true (default value: false). The user has then to supply the number of feeds the column has (numberLiquidFeeds / numberVapourFeeds). And the number of the stage, where the feed enters the column (stageLiquidFeed / stageVapourFeed). The numbering of stages where the feeds enter the column are provided as a vector (like stageLiquidFeed = {3,5}), this makes it possible to have more than one feed. The stage at the bottom of the column is the first stage.

Medium Models

Vapour and liquid medium packages have to be provided separately.

The liquid medium models and the vapour medium models can differ both in the number of mediums they contain as well as in the substance types. The parameter nS is the number of substances which are in the liquid as well as in the vapour phase. This value has to be supplied on the top-level in the GUI of the columns. The arrangement of the different substances in the medium models is arbitrary. The parameter mapping has to be used to map the different vectors one to another.

Example: Vapour = {N2, H2O, CO2}, Liquid = {N2, H+, HCO3-, H2O, CO2} , mapping = {{1,1},{2,4},{3,5}}.

The value for the parameter mapping is also supplied on the top-level of the column GUI.

In the vector inertVapour and inertLiquid it has to be stated whether the substance is to be considered as inert substance or not. For the example above:

inertVapour = {false, false, false}, inertLiquid = {false, true, true, false, false}.

If new medium models are added to the library they have to extend from BaseMediumVapour and BaseMediumLiquid respectively (or BaseMediumLiquidReactions, if reaction will occur in the liquid phase).

Film Models

The film model provides the relation between the bulk mole fractions and the molar flow rates between the bulk phases and the film phases.

For a detailed description of the film model classes, see package FilmModel.

The film model is chosen on top-level of the column GUI. Most film models require values for variables such as interfacial area, mass or heat transfer coefficient. Correlations for such variables are not determined on top level in the GUI, but when clicking on the modifier of the film model. In this case the redeclaration window will open and correlations for heat and mass transfer and so on can be chosen (if applicable for the chosen film model). This can be seen in the following screenshot:

In the film model also the numeric states can be chosen (tab "General" of the redeclaration window). Different suggestions of state variables are selected in the package StateSelection where also own state options can be added.


The Initialization in steady-state is not (yet) possible, and different sets of initial equations exist, hoping that one of them will work. The set of initial equations used can be selected in the tab "Initializiation" of the GUI. Several variables are listed in this tab, for which start values are required. This does not necessarily mean that these values will be physical start values of t=0s. They may also be only iteration start values. Which variables are physical start values and which variables are separation start values depend on the initial equations chosen. Own initial equations can be added and have to extend from the model BaseInit.

Generated at 2024-04-15T18:15:56Z by OpenModelicaOpenModelica 1.22.3 using GenerateDoc.mos