UNISIM Tutorial - Chemical Engineering

UniSim Design Tutorial for
CHEE 399
Queen’s University Department of
Chemical Engineering
UniSim (very similar to HYSYS) is a program used to design chemical plants. It is built around:
a library of the physical properties of a large number of chemical species
a set of subroutines to estimate the behavior of many types of plant equipment (heat
exchangers, reactors, etc.)
a graphical user interface to accept specifications for the case, and display results
The user describes the process in terms of pieces of equipment interconnected by process
streams, and the program solves all the mass/energy/equilibrium equations, taking into
consideration the specified design parameters for the units.
In this tutorial, you will be introduced to some of the basic features of UniSim. Once you have
completed this tutorial, it is highly recommended that you attempt to work through the advanced
tutorial (available for download on the course webpage), as it will introduce you to additional
unit operations and features. Upon completion of both tutorials, you will be well-prepared to dig
into the plant optimization assignments.
Separating CO2 from Synthesis Gas
In this year’s Integrated Design Project, we are interested in developing a process to obtain pure
hydrogen (H2) from Synthesis Gas (syngas) which, for the purposes of this assignment, is a
mixture of CO2, CO, H2 and H2O. The reaction governing the ratio of these gasses is:
CO + H2O ↔ H2 + CO2
If we drive the reaction equilibrium towards the production of H2, we will also increase ratio of
CO2 in the gas mixture. This CO2 is then can be removed from the syngas using Selexol, a liquid
absorbent. Since Selexol is a physical absorbent, decreasing the temperature and increasing the
pressure will drive CO2 to dissolve into the liquid. Downstream, the CO2 can then be removed
by decreasing the pressure which will cause the solvent to degas.
The amount of CO2 that the Selexol is capable of absorbing can be calculated based on the
principles of vapour/liquid equilibrium (VLE). Since Selexol and CO2 are not chemically
similar, gas solubility cannot be accurately predicted using an unmodified Raoult’s law (which
would assume the fluids are ideal). Our choice of property package will determine how the
model behaves when operating outside of conditions where ideality holds. If we use the
UNIQUAC (UNiversal QUAsiChemical) model, gas solubility can be calculated using a set of
binary coefficients. Experimental values for these binary coefficients are unavailable in the
UniSim database. The UNIFAC (UNiversal Functional Activity Coefficient) method can be
used to generate semi-theoretical estimates of these binary coefficients based on molecular size
and shape differences and molecular interactions in the system. These binary coefficients can
then be validated by comparing the solubilities predicted by the simulation to the manufacturer’s
data (refer to Genosorb_data.pdf – use Genosorb 1753). If the solubilities are not being
predicted correctly, the binary coefficients can be modified using an educated trial-and-error
We will develop a model capable of performing the solubility calculation. The binary
coefficients of the UNIQUAC model will be adjusted to match the manufacturer’s solubility
data. These binary coefficients will then be input into the Integrated Design Project process
The following diagram shows the process model we will use in our solubility calculation for CO2
in Selexol.
To ensure the Selexol is saturated with CO2, a stream containing excess amounts of CO2 is mixed
with a stream of pure Selexol. This mixed stream will contain two phases: a liquid stream of
Selexol saturated with CO2, and a vapour stream consisting of excess CO2. The excess CO2
(beyond saturation) is removed using a (drum) separator, leaving us with the CO2-saturated
Selexol stream. A component splitter (aka a “black box”) separates the CO2 from the Selexol,
allowing us to read off the normal volume of CO2 gas that was dissolved in the Selexol on a per
kg basis, just as it is reported in the manufacturer’s data file. The binary coefficients can then be
easily adjusted until the model predictions match the experimental data.
Setting up Data for the Model
Open UniSim (Accessed under Honeywell from the Start menu in Windows).
Click on the New File icon
and get:
Click on the Fluid Pkgs tab.
In UniSim, a “Fluid Package” includes all the thermodynamic, component and reaction
parameters required to run the model. It is possible to have multiple packages in a model. For
example, in a more complex plant model, one could add more than one fluid package if they
wanted to use one particular thermodynamics model for the reactors and a different
thermodynamics model for other unit operations.
Click on Add and scroll to find UNIQUAC, since we are using the UNIQUAC method to model
the thermodynamics of our system.
Note that default name of the package is “Basis-1” and our component materials will go into
“Components List - 1”.
Adding Components
Close the “Fluid Package” window and click on the Components tab of the “Simulation Basis
Manager” window.
Select Component List – 1 and click on View.
We will now add the four components of the Syngas mixture (CO, H2O, H2, and CO2) to our
components list. Let’s begin with CO by entering “Carbon_Monoxide” in the “Match” field.
Notice that if you forget the underscore ( _ ), the search will not turn up any components!
Click on Add Pure and do the same with “Water”.
Often it is easier to search for and add compounds using their chemical formulas. Select the
Formula option and search for “H2”. Add Hydrogen to the “Selected Components” list.
Do the same thing with “CO2”.
The final component we will add is Selexol. Select the Full Name / Synonym option and search
for “Selexol” and add it to the list of components.
Close the components window. Now that we have finished adding all of the components, it
would be a good idea to save the case. As with most Windows programs, this can be
accomplished by clicking on File → Save. Save the file as 399tutor01.
Estimating Binary Coefficients with UNIFAC
The UNIQUAC model requires a set of binary coefficients. These can be estimated using the
UNIFAC method. From the “Simulation Basis Manager” window, click on the Fluid Packages
tab. Select Basis-1 and click on the View button. Now, click on the Binary Coefficients tab to
access the “Activity Model Interaction Parameters” window.
We are interested in the bottom row, the binary coefficients that mathematically describe the
interaction between the component gasses when dissolving in Selexol.
Since the UNIFAC VLE option is automatically selected, click on the Unknowns Only button to
obtain estimates for binary coefficients that are were not available in the database.
Now close the Fluid Packages window. It is now time to exit the Basis Manager and enter the
Simulation Environment. To proceed with building the process model, click on the Return to
Simulation Environment” button. You can also click on the
button in the main toolbar.
A warning window will pop up. Click Ok.
Building the Process Flow Diagram
Save your progress. If you make a mistake in your model, particularly one which causes UniSim
to crash at an inopportune moment, it is always handy to have an earlier version of the model
saved so you can quickly return to a case that worked. If you haven’t developed a habit of
saving your work often, now is a good time to do so! Do a “Save” followed by “Save As
This is the blank screen on which you will model the process by building a Process Flow
Diagram (PFD).
The PFD operations palette, as shown on the left, should be visible. If it is
not, click on Flowsheet →Pallette.
We will begin by defining creating two feed streams into the system. Double
click on the blue material stream icon
to bring up an empty stream
Note that the properties are being estimated using the Basis-1 package.
We will begin with Selexol feed stream. Enter the following data:
Steam Name = Selexol_In
Temperature = 25 ℃
Pressure = 100 kPa
Mass Flow = 1000 kg / h
To finish the stream definition, we need to specify the composition. Click on Composition on
the left side of the window.
Click on field next to Selexol and enter “1”. A new window will pop up. Click on the
Normalize button.
Now, click OK. Click on Conditions to go back to the “Conditions” window.
The bar near the bottom will turn green (“OK”) to indicate that the stream is now fully-defined.
UniSim has calculated the variables that you did not specify and they show up a black font.
From now on, you will only be able to change values that show up in a blue font, not the black
ones. Close the feed stream window.
Now we will repeat the process to define the CO2 feed stream. On the operations palette, double
click on the blue material stream icon
following information:
Steam Name = CO2_IN
Temperature = 25 ℃
Pressure = 100 kPa
Mass Flow = 1000 kg / h
to bring up an empty stream window. Enter in the
Click on Composition and click on the field next to CO2. Enter in “1”. The composition input
window will open up.
Click Normalize then OK to exit this window. Clicking on Conditions we can see that this feed
stream has now been defined.
As expected, CO2 at 25℃ and 100 kPa (1 bar) exists as a vapour, as indicated by a “Vapour /
Phase Fraction” equal to 1.0. We are now done specifying the CO2 feed stream, so close the feed
stream window.
Now it is time to add a mixer to combine the two feed streams. Double click on the mixer icon
in the operations palette.
In the “Name” field, specify “Feed Mixer”. Then click on <<Stream>> in the “Inlets” list. You
will be presented with a list of acceptable steams. Select “CO2_IN”.
Now we will input the second input stream. In the second <<Stream>> line, select
UniSim informs us that we still need to specify a product stream. It often pays to check the
status bar at the bottom of the page when you are stuck. Sometimes it can provide helpful hints
and remind you if you’ve forgotten to specify an important design parameter.
Next, click on the box below Output and you will see that there are no candidate streams. So
enter the name “Mixed Feed”.
The mixer has now been sufficiently specified. We have chosen to accept the default operating
parameters. Clicking on Parameters (on the left), will bring up the following screen.
Each type of operation will have a set of parameters that may be adjusted. The parameters are
usually specific to the type of operation you are specifying. For example, pump efficiency is one
of the parameters that may be adjusted when you are designing a pump. For (drum) separators,
the parameters screen allows you to specify the pressure drops at the both the inlet and vapour
outlet (by default they are set to zero).
For our mixer operator, there is only one parameter that can be changed: the method by which
the outlet pressure is calculated. There are two options.
When “Equalize All” is selected, UniSim checks that all of the inlet streams have the same
pressure. If this is the case, the outlet stream pressure is set to equal the pressure of the inlet
streams. If one (or more) of the inlet streams has a different pressure, UniSim will display a
warning, informing you that the system is over-specified. This problem can be fixed by going
back and changing the pressure specification of the offending inlet stream (making sure that all
your inlet streams have the same pressure).
When “Set Outlet to Lowest Inlet” is selected, UniSim sets the pressure of the exit stream to
equal the lowest inlet stream pressure. When this option is selected, the inlet streams can have
different pressures. In a real plant, the inlet streams to a mixer will have the same pressure, so
avoid selecting this option if you can.
By default, the “Equalize All” radio button is selected and we do not want to change this. Close
the window and take a look at the main screen.
All of the streams are dark blue, indicating that UniSim is “happy” (that all the conditions
required to ‘fullly’ specify a stream have been made, and that all resulting phsyical properties
have been calculated)
The Flash System
Once the feed streams are mixed together, the Selexol will become saturated with CO2 from the
feed stream. The “Mixed Feed” stream will consist of two phases: a liquid stream (Selexol
saturated with CO2) and a vapour stream (the CO2 left over after the Selexol is saturated). We
need a separator to isolate the two phases.
Double click on the separator icon
on the operations palette. This will bring up a screen
where you can specify the separator design.
Rename the unit by typing “Separator” into the Name box. Attach the “Mixed Feed” stream by
clicking on the box below Inlets and selecting it. In the Vapour Outlet box, type “Excess CO2”.
In the Liquid Outlet box, type “Saturated Selexol”.
Note that according to UniSim, the unit has been sufficiently specified. We could, should we
wish to, alter some of the design specifications. If we wanted to specify a pressure drop across
the inlet and/or vapour outlet, we could click on Parameters which would bring up the following
The numbers in both boxes are blue, indicating that we could choose to specify pressure drops or
specify other parameters. However we will stick with the defaults.
Close the Separator window and do a “Save” followed by a “Save As 399tutor03”. Your PFD
should look similar to this one.
Double click on the “Excess_CO2” stream. This will open up a new window giving us
information on the vapour outlet stream.
Take a look at the mass flow rate. Assuming the stream is essentially pure CO2, it appears that
of the 1000 kg of CO2 that we feed in per 1000 kg of Selexol, 2 kg of CO2 will absorb into the
Selexol. Click on Composition on the left side of the window.
This confirms that the stream is essentially pure carbon dioxide.
Our model predicts that 1000 kg of Selexol will absorb 2 kg of CO2 at 25℃ and 1 bar of
pressure. However the manufacturer’s specifications list gas solubility in terms of N cm3/g ∙ bar.
Note that N stands for normal and not Newton and refers to a predefined set of temperature and
pressure conditions. Since we’ve chosen to operate at 1 bar (100 kPa), we can simplify the units
to N cm3/g, but this information is still unavailable with the model in its present form.
Splitting Components
To determine the normal volume of gas capable of absorbing into a kg (or g) of Selexol, we must
split the components of the “Saturated Selexol” stream.
On the operation palette, double click on the component splitter
Change the name of the unit to “Splitter” and specify the input and output streams as shown.
Click on Splits and click on the box immediately to the right of “CO2”.
Click on Set to 1.0000 to specify that the “Absorbed CO2” stream will contain CO2 only. Set the
remaining components to 0.0 by clicking on each of the corresponding boxes and clicking Set to
Click on the Worksheet tab near the bottom of the window.
We must specify the split stream pressures of both streams to 100 kPa, as shown.
The component splitter has not been sufficiently specified, so UniSim is unhappy. If we look at
the message window near the bottom of the main window, we can gain an clue as to which
information is missing.
UniSim is telling us that the temperature of the “Selexol_OUT” stream is unknown. Specifying
the temperature of one of the outlet streams might fix this problem. Since we need to measure
normal CO2 volume at 25 ℃ , set the temperature of the “Absorbed CO2” stream to 25 ℃.
The component splitter design has now been sufficiently specified. Close the “Splitter” window.
Your process stream should now look similar to the one below:
Click on the “Absorbed CO2” stream.
We already knew the mass flowrate of CO2 was around 2 kg. The Conditions window does not
tell us what the normal volumetric flow rate of the CO2 stream. Click on Properties to bring up
the properties window.
It is empty, so we must specify which additional properties we want UniSim to calculate. On the
main menu bar, click on Tools → Preferences… to bring up the “Session Preferences” window.
Check the Activate Property Correlations (Standard, Black Oil, Electrolyte) box.
Click on the Variables tab near the bottom of the window. In the Available Unit Sets box, click
on “SI” and click on the Clone button.
Rename the new unit set as you please (In the tutorial, it has been renamed “CHEE 399”) and
make sure it is selected. In the Display Units box, scroll down until you find “Std. Gas Flow”.
Change the unit from “STD_m3/h” to “Nm3/h” as shown.
Now that you have specified the use of a customized set of variables where the Std. Gas Flow is
reported in N m3/ h, click on Save Preferences near the bottom of the window to save your
Close the preferences window and click on the “Absorbed CO2” stream on the PFD to open up
the corresponding stream properties window.
Click on Properties and scroll down until you can read off the “Std. Gas Flow” rate.
According to the model, a stream of Selexol flowing at 1000 kg / h is capable of absorbing the
equivalent of 0.9953 N m3 / h of CO2. In other words, the solubility of CO2 in Selexol is 0.9953
N cm3 according to our model. This is less than the experimental solubility value supplied by the
manufacturer (3.1 N cm3) so we will have to adjust the corresponding binary coefficient until our
process model prediction matches the manufacturer’s data.
Adjusting the Binary Coefficients
Without closing the “Absorbed CO2” properties window, click on the “PFD” window and
minimize it.
Now would be a good time to save your work. Save the latest version of your document as
Click on the beaker icon
to exit the simulation environment and re-enter the basis
environment. If it isn’t already selected, click on the Fluid Pkgs tab and click the View… button
to edit the fluid package.
Now, click on the Binary Coeffs tab to bring up the binary coefficients window.
The binary coefficient for CO2 in Selexol that was estimated using the UNIFAC method must be
adjusted to ensure that the CO2 solubility predicted by the UniSim model matches the solubility
data provided by the manufacturer. The binary coefficient that you will have to adjust has been
circled above.
Since we do not know whether we need to increase or decrease the binary coefficient, let’s begin
by changing it to 69.000 and pressing Enter (or click on another box). A window will pop up
warning you that changing the binary coefficient will affect the simulation results.
Click Yes to continue.
Notice that the font colour changes from red to blue. Without closing the “Fluid Packages” click
on the
icon to return to the simulation environment.
The same warning window will pop up again.
Click Ok. A second window will pop up, asking you if you want to remain in “HOLDING”
mode when entering the simulation environment. In HOLDING mode, the solver will not be
active and computed values will not be updated.
Since we want new values to be computed, will click No. If you click Yes by mistake, click on
the green traffic light icon
to activate the solver. Sometimes you may want to deactivate
the solver (for example, if you want to change more than one parameter without the solver
recalculating everything after each and every change); this can be done simply by clicking on the
red traffic light icon.
The “Absorbed CO2” window should still be open. Click on Properties and scroll down to read
off the “Std. Gas Flow” rate.
The simulation prediction is getting closer to the experimental data! Return to the basis
environment and try re-adjusting the binary coefficient. Your find your results should be these:
Binary Coefficient
Std Gas Flow (N m3 / h)
Now that we have determined the binary coefficient for CO2 in Selexol it is time to repeat the
process for CO and H2. Make sure you record your binary coefficients on a separate sheet (or
notepad file in case, later on, you mistakingly change the value later on or reset the binary
coefficients. Restore the PFD window and save your work.
Repeat the Process for H2
In the PFD window, left click on the mouse. While holding down the left mouse button, drag a
box across the PFD model as shown below:
Rather than respecifying the entire process from scratch, we can copy the present model and
create a duplicate. Press Ctrl-C to copy the highlight model (or use File → Copy). Press Ctrl-V
to paste a copy of the model onto the PFD. An outline of the new diagram will appear. Position
the outline near the bottom of the window and left-click the mouse to place the copy.
Our view is currently less than optimal, but we can position the units by clicking PFD →Auto
Position All, as shown below.
Your PFD should now look similar to the one below.
Select the “CO2_IN-2” feed stream on the lower model and change the Stream Name to
“H2_IN”. Click on Composition and change the mole fraction of “Hydrogen” to 1.0. The
composition window will open up. Change the mole fraction of “CO2” to 0 and then click OK.
Close the window. Now, double click on the “Excess CO2-2” stream and change its name to
“Excess H2”. Double click on the “Absorbed CO2-2” stream and change its name to “Absorbed
Now we must modify the component splitter because it is currently set to create a pure stream of
CO2 (It would be great if UniSim could read our minds and carry out the correct modifications
on its own…). Double click on the second component splitter “Splitter-2” to open up the
component splitter window. Click on the Design tab, then select Splits. Change the split
fractions of the “Absorbed_H2” stream to 1.0 “Hydrogen” and 0.0 “CO2”.
Close the splitter window and open up the information window for the “Absorbed H2” stream.
If you have carried out all of the changes properly, your numbers should match the ones shown
The predicted solubility 0.0248 is not far off from the manufacturer’s data 0.03.
As before, adjust the corresponding binary coefficient until your simulation’s prediction matches
the experimental data. Record your number.
Save your work.
Repeat the Process for H2
Now you will repeat the procedure one more time to determine the binary coefficient for carbon
monoxide in Selexol. If you need guidance, refer to the instructions in the step above.
Once you have completed this exercise. Save your work as 399tutor04.
Modifying the Binary Coefficients in the Full Model
Now that you have completed the tutorial model, open up the Integrated Design UniSim model
(your main model) and change the binary coefficients so they match the numbers you obtained
from the tutorial process model(s).
Change These Values…
You have now completed the first tutorial exercise!
UniSim Customization
In Tools=>Preferences=>Resources=>Colours
Set “PFD Background” to white
Set “PFD Label Text” to black
Set “PFD Annotation” to black
In Tools=>Preferences=>Simulation
Uncheck “Confirm Before Adding if Active Correlations are Present”
Uncheck “Enable Cross Hairs on PFD”