ASCEND/C2/Simulating-flowsheet/English

From Script | Spoken-Tutorial
Revision as of 15:43, 17 June 2014 by Tarung (Talk | contribs)

Jump to: navigation, search

Tutorial 5: Model a Flowsheet


Visual Cue
Narration
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

  • Model a mixer and execute it
  • Model a reactor
  • Design a reactor
  • Connect different components in a single flowsheet
  • Run the flowsheet


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

http://spoken-tutorial.org

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
  • Model a mixer and execute it
  • Model a reactor
  • Connect different components in a single flowsheet
  • Run the flowsheet


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.

Contributors and Content Editors

Nancyvarkey, Tarung