ASCEND/C2/Simulating-flowsheet/English
Tutorial 5: Model a Flowsheet
|
|
Slide number 1
Title slide |
Welcome to the tutorial on Modelling a Flowsheet in ASCEND |
Show Slide 2 | In this tutorial,
We will learn how to
|
Slide number 3
System Requirement |
Here I am using
Ubuntu Linux OS v. 12.04 ASCEND v. 0.9.8
|
Slide number 4
Pre-requisites |
To follow this tutorial, user must have basic knowledge of
Linux and ASCEND To know more about ASCEND please visit ascend4.org For relevant tutorials please visit our website |
Slide number 5
Show the complete Flowsheet |
Let's begin the tutorial with the example problem 10.32 from the book Elementary Principles of Chemical Processes by Felder and Rousseau. This example is available on page 508 of the book. We will model the 3 components of this Flowsheet- mixer, reactor and separator and we will then assemble them to model the complete flow sheet. |
Slide number 6
Reactions |
Here Ethane is dehydrogenated to ethylene and acetylene in the following pair of reactions.
The equilibrium conditions are also given as follows Here yi signifies mole-fraction
|
Slide number 7
Flowsheet |
Let's now model the mixer in ASCEND.
In mixer, a fresh feed of ethane with n0 moles is mixed with a recycle stream of ethane with n6 moles The outlet stream consists of 100 moles of ethane |
Slide number 8
Equations for Mixer |
Thus the equation for mixer is
n0+n6 =100 I already have the code for this mixer in a text file. Let me explain the code. |
Open code file in text editor | Open the file flowsheet.a4c in a text editor |
REQUIRE "atoms.a4l";
MODEL mixer; |
Here we require atoms.a4l to use the variable type 'mole'.
I have named the model as mixer. |
n_0, n_6 and n_tot.
IS_A mole; |
Let’s Name the three streams of mixer as:
n_0, n_6 and n_tot. Define the stream as a mole. |
n_tot= n_0+n_6; | Now we define the equation for mixture as simple mole balance as :
Output = Input That is : n_tot= n_0+n_6; Note that label like equation 1 is not necessary to right, but this helps in debugging the code |
METHOD specify;
FIX n_tot ; END specify; |
Let's now define METHODS for solving the mixer.
Under METHOD specify, We fix the variable n_tot
|
METHOD values;
n_tot := 100.0 {mole}; END values; |
Under METHOD values,
n_tot is assigned the value 100 mole
|
METHOD seqmod;
RUN clear; RUN specify; RUN values; END seqmod; END mixer; |
METHOD seqmod signifies setting the model in sequential modular simulation.
This signifies that given feed stream and unit operations specification, ASCEND will calculate the intermediate and outlet streams Under this method, RUN specify and RUN values Now END the model mixture Note that model mixer is not square as there is one equation and two unknowns. Thus one can’t solve the model mixture separately in ASCEND |
Slide number 9
Flowsheet |
Let us now model the second component of the flowsheet i.e. the reactor
As you can see there is one stream entering the reactor, and four streams leaving it. Here ethane is dehydrogenated to ethylene and acetylene, so the out stream consists of ethane, ethylene, acetylene and hydrogen |
Slide number 10
Equations for Reactor |
These are the set of equations to be used for modelling the reactor
To understand these equations, please refer the textbook Now let’s look at the code for reactor |
Open flowsheet.a4c in a text editor and highlight the code text sequentially | I have named the model as reactor
Define all the input and the output stream as the mole. The reaction extent ksi1 and ksi2 is also defined as mole Equation 2-6 are defined as shown in the slide Note that equation 7 and 8 are written as numerator on the left hand side equal to right hand side into denominator of the right hand side We don’t use division to avoid a poor initialization for solving the problem Now under METHODS section, we define methods in a similar way as that for mixer. Under values section, instead of giving a direct value, we initialize the value of the reaction extent ksi1 and ksi2 , we thus give a nominal value of ksi1 and ksi2 We also set upper bound for ksi1 and ksi2. For assigning the nominal value, we write ksi_1.nominal is equal to ksi_1 similarly for assigning the upper bound, we write ksi_1.upper_bound is equal to n_tot into 2 Now, end the Method values Define the method seqmod and END the reactor |
Slide 11
Assignment: Equations for Separator |
Now these are the set of equations for separation process
Using these model the separator on similar lines as that of mixture Once we have modelled each component of the flowsheet Let’s now wire them together. I have the code for modelling the flowsheet. Let me explain the logic of connecting different components via code. |
Open flowsheet.a4c in a text editor and highlight the code text sequentially | I have named the model flowsheet
We define m1 IS_A mixer; r1 IS_A reactor; and s1 IS_A separator; Note that the variable mixer, reactor and separator is used by ASCEND from the models defined before Now let us state that output from mixture is same as input for the reactor and the output of the reactor is same as the input to the separator. We equate the two by the help of the operator ARE_THE_SAME ARE_THE_SAME is a merging operator It merges different models or variables into one, for example, we write m1.n_tot,r1.n_tot ARE_THE_SAME; This saves us from creating additional different equations Under METHODS section, we will again write the same methods as specify, values and seqmod. Note that under method specify and method values, we run methods for each individual component under each method. For example, under method specify we have written RUN m1.specify and RUN r1.specify This command will execute the specify method for mixer under the method specify for flowsheet Now define the method seqmod and END the flowsheet
|
Open the model in ASCEND | Open this model in ASCEND
Now click on m1 mixer, you will see ASCEND has assigned some default values to the streams n_0,n_6 and n_tot Now under method section, click on seqmod, then click on RUN Now click on the solve icon. You will see the message converged in the panel below Now click on m1 mixer, you will see ASCEND has calculated the values for the streams n_0 and n_6 It is also satisfying the equation n_0+n_6 = n_tot We encourage the learner to observe the values of remaining two components before and after solving the flowsheet for better understanding. |
Open slide number 12
Summary |
Let’s summarize. In this tutorial, we have learnt
How to
|
Slide Number 13
About the spoken tutorial project |
Information on spoken tutorial project is available on our website http://spoken-tutorial.org
|
Slide number 14
Spoken Tutorial Workshops |
Details of the workshops based on spoken tutorials is also available on the website |
Slide number 15
Acknowledgements
|
Spoken Tutorial Project is funded by NMEICT,MHRD |
Slide number 16
Thanks you |
This is Priya Bagde from IIT Bombay signing off. Thank you for joining. |