EMSO Installation on Ubuntu 10.04 32 bit

This is a short instruc­tion to how to install EMSO on last Ubuntu ver­sion: 10.04 LTS (code­name Lucid Lynx). First of all get the last releases of EMSO and VRTherm here. VRTherm is a ther­mo­dy­namic prop­er­ties pack­age that works as a plu­gin of EMSO. Cur­rently the last ones are emso-beta-linux2-i386-0.10.3.tar.gz and vrtherm-linux2-i386-1.4.2.tar.gz. So that untar them:

user@computer:$ tar xzvf emso-beta-linux2-i386-0.10.3.tar.gz
user@computer:$ tar xzvf vrtherm-linux2-i386-1.4.2.tar.gz

If you want to have EMSO and VRTherm avail­able for all users you should copy them to a com­mon place:

user@computer:$ sudo cp –r emso /usr/local
user@computer:$ sudo cp –r dist/vrtherm /usr/local

And cre­ate sym­bolic links to call EMSO and VRTherm:

user@computer:$ sudo ln –s /usr/local/emso/bin/emso /usr/local/bin/emso
user@computer:$ sudo ln –s /usr/local/vrtherm/vrtherm /usr/local/bin/vrtherm

So you can call them any­where by typ­ing in the terminal:

user@computer:$ emso
user@computer:$ vrtherm

Let’s start get­ting all the pack­ages nec­es­sary from Ubuntu repository.

user@computer:$ sudo apt-get install libumfpack5.4.0 libxml++2.6–2 libxerces-c28 libsuitesparse-metis-3.1.0

And finally the libfox1.4 pack­age must be tak­ing from an old repos­i­tory. It is essen­tial to run EMSO and VRTherm promptly:

user@computer:$ wget –c http://archive.ubuntu.com/ubuntu/pool/universe/f/fox1.4/libfox1.4_1.4.34-1ubuntu1_i386.deb
user@computer:$ sudo dpkg –i libfox1.4_1.4.34-1ubuntu1_i386.deb

Addi­tion­ally to run all sam­ples you should give write per­mis­sion to folder /mso/sample (or copy it to your /home folder). EMSO needs to cre­ate tem­po­rary files to open dia­gram files (.PFD) oth­er­wise EMSO crashes.

user@computer:$ sudo chmod 771 –R /usr/local/emso/mso/sample

Plugins Configuration
To start using EMSO for all appli­ca­tions you must prop­erly con­fig­ure the ther­mo­dy­namic pack­age. Call EMSO and go to “Con­fig” > “Plu­g­ins…” and add a plu­gin calls PP and the path to the file libvrpp.so under /usr/local/vrtherm/libvrpp.so as shown in Fig­ure. Press­ing “Add Plu­gin” and “Ok”, PP will be shown in “Reg­is­tered Plu­g­ins” sec­tion above. EMSO will be ready after restart application.

Simulating dynamic tanks in EMSO (Part 1)

This post starts to our sec­tion of HOW-TO texts. My obje­tive with this spe­cific post is to intro­duce using some free tools to dif­fer­ent applications.

A clas­sic prob­lem in process engi­neer­ing is the case of a dynamic tank where the out­put flow is pro­por­tional to its level (Fig. 1). This exam­ple is part of EMSO tuto­r­ial so that more details would be to con­sult in the EMSO man­ual.

Fig. 1. Dynamic tank.

Fig. 1. Dynamic tank.

In this approach­ing, the prob­lem of dynamic tank involves 3 vari­ables and 2 para­me­ters such below:

Vari­ables:

  • Fin: Input flow (m3/h)
  • Fout: Out­put flow (m3/h)
  • h: Tank level (m)

Para­me­ters:

  • A: Tank area (m2)
  • k: Valve con­stant (m2.5/h)

This sys­tem is mod­eled as sim­ple mate­r­ial bal­ance given to:

\frac{d(h A)}{dt} = F^{in} - F^{out}

where the pro­pri­eties are con­sid­ered con­stants so that, the vol­ume that goes into tank minus the vol­ume that goes out tank are equal to accu­mu­lated volume.

The out­put flow is given to valve equation:

F^{out} = k\sqrt{h}

where Fout is pro­por­tional to square root of the tank level h and a valve con­stant k.

EMSO mod­el­ing lan­guage is based on con­cepts of object-oriented pro­gram­ing. These kinds of appli­ca­tions get us pos­si­ble to rep­re­sent the prob­lem through a code. As a result, when we are read­ing the code we are also read­ing a descrip­tion of the prob­lem. EMSO mod­el­ing lan­guage presents 3 basic enti­ties: Model, DEVICES, and Flow­Sheet. An flow­sheet of process is rep­re­sented by the entity Flow­Sheet which is con­sti­tuted by a set of com­po­nents calls DEVICES. The DEVICES are equiv­a­lent to the true units of a process. In its turn, the math­e­mat­i­cal descrip­tion of each DEVICES is rep­re­sented by the entity Model.

The Model of a sin­gle tank is given below:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
using "types";
 
Model tank
    PARAMETERS
    k as Real (Brief="Valve constant", Default=4, Unit='m^2.5/h');
    A as area (Brief="Tank area", Default=2);
 
    VARIABLES
in  Fin  as flow_vol(Brief="Input flow");
out Fout as flow_vol(Brief="Output flow");
    h    as length(Brief="Tank level");
 
    EQUATIONS
    "Material balance"
    diff(A*h) = Fin - Fout;
 
    "Valve equation"
    Fout = k*sqrt(h);
end

The line 1 indi­cates that Model used a exter­nal file (“types”) where con­tains all use­ful def­i­n­i­tion of unit of mea­sure­ments such as area (line 6), flow_vol (lines 9–10), length (line 11), etc. In the line 4, the para­me­ters are declared. In the line 8, the vari­ables are declared. The in and out indi­cate that are input and out­put vari­ables respectively.

Since there is a struc­ture that rep­re­sents a sin­gle tank, we can eas­ily model a set of tanks in series (Fig. 2).

Fig. 2. Dynamic tanks in series.

Fig. 2. Dynamic tanks in series.

That set of tanks in series can be rep­re­sented by Flow­Sheet below. This struc­ture requires 1 input spec­i­fi­ca­tion (line 32) and 2 ini­tial con­di­tions (line 35). The time of inte­gra­tion, step, and other spec­i­fi­ca­tions to solver are made in the sec­tion OPTIONS (line 39).

20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
FlowSheet tanks
    VARIABLES
    Fin        as flow_vol;
 
    DEVICES
    tank1      as tank;
    tank2      as tank;
 
    CONNECTIONS
    Fin        to tank1.Fin;
    tank2.Fout to tank2.Fin;
 
    SPECIFY
    Fin = 10*'m^3/h';
 
    INITIAL
    tank1.h = 1*'m';
    tank2.h = 1*'m';
 
    OPTIONS
    TimeStep = 0.1;
    TimeEnd = 2;
    TimeUnit = 'h';
end

The solu­tion of prob­lem can be viewed in the own simulator’s GUI. Plots of vari­ables to an ana­lyze of the sys­tem dynam­ics are showed at Fig. 3–4.

Fig. 3. Tank input and output flows.

Fig. 3. Tank input and out­put flows.

Fig. 4. Tank levels.

Fig. 4. Tank levels.

Related Posts with Thumbnails