Τετάρτη, 12 Ιανουαρίου 2011

EMSO: Environment for Modeling, Simulation and Optimization


Γραφικό Περιβάλλον Προσομοίωσης και Βελτιστοποίησης Μοντέλων


Το EMSO είναι ένα ελεύθερο λογισμικό στο οποίο ο χρήστης μπορεί να αναπτύξει περίπλοκα δυναμικά ή μόνιμης κατάστασης (steady-state) μαθηματικά μοντέλα, μέσα από ένα γραφικό περιβάλλον, επιλέγοντας και συνδέοντας model blocks. Το EMSO είναι το αποτέλεσμα ενός project του καθηγητή Argimiro Secchi και του Phd Rafael Pelegrini Soares του Τμήματος Χημικών Μηχανικών του Πανεπιστημίου του Rio Grande do Sul ( a South Brazilian University).


Επίσης, ο χρήστης μπορεί να δημιουργήσει μοντέλα με την βοήθεια της γλώσσας EMSO (EMSO modeling language) ή να χρησιμοποιήσει τα υπάρχοντα μοντέλα από την EMSO Modeling Library – EML.
 
 
Παράδειγμα: Tank Flow Model Block
 
using "types";
 
Model tank_flow
    VARIABLES
    F as flow_vol (Brief="Flow");
end
 
Model tank_source_test
    ATTRIBUTES
    Pallete = true;
    Icon = "source_icon";
 
    VARIABLES
out Outlet as tank_flow (Brief="Inlet stream", PosX=1, PosY=0.65);
end
 
Model simple_tank_test
    ATTRIBUTES
    Pallete = true;
    Icon = "tank_icon";
 
    PARAMETERS
    k as Real (Brief="Valve constant", Default=4, Unit='m^2.5/h');
    A as area (Brief="Tank area", Default=2);
 
    VARIABLES
in  Inlet  as tank_flow (Brief="Input flow", PosX=0, PosY=0.17);
out Outlet as tank_flow (Brief="Output flow", PosX=1, PosY=0.94);
    h      as length (Brief="Tank level");
 
    EQUATIONS
    "Material balance"
    diff(A*h) = Inlet.F - Outlet.F;
 
    "Valve equation"
    Outlet.F = k*sqrt(h);
end


Το περιβάλλον EMSO μπορεί να προσομοιώσει και να βελτιστοποιήσει στατικά και δυναμικά μοντέλα, καθώς να κάνει parameter estimation. Μερικά παραδείγματα είναι τα παρακάτω:

  • Διεργασίες διαχωρισμού μιγμάτων
  • Αποστακτικές στήλες
  • Αντιδραστήρες CSTR, PFR και μη-ιδανικούς (non-ideal reactors)
  • Συστήματα ατμού στην πετροχημική βιομηχανία και σε σταθμούς ηλεκτροπαραγωγής

 Το πρόγραμμα EMSO είναι γραμμένο σε γλώσσα C++ και είναι διαθέσιμο για Windows 95/98/Me/NT4/XP (για κατέβασμα, εδώ) και Linux (για κατέβασμα, εδώ και για εγκατάσταση σε ubuntu 10.04 32 bit, εδώ), αλλά μπορεί να γίνει compilation και σε άλλες πλατφόρμες. Διαθέτει αντικειμενοστραφή προσομοιωτή εξισώσεων, ο οποίος διαθέτει και έλεγχο μονάδων μέτρησης.

Ο χρήστης του EMSO, δεν απαιτείται να είναι προγραμματιστής, γιατί η EMSO modeling language, που διαθέτει, είναι κατανοητή και εύκολη. Τα μοντέλα μετατρέπονται εύκολα σε συστήματα εξισώσεων χωρίς κάποιο compilation ή linking.

Το εγχειρίδιο της χρήσης και προγραμματισμού του EMSO μπορείτε να το κατεβάσετε εδώ.

Ενώ, υπάρχει ένα πολύ ωραίο κλασσικό παράδειγμα χημικής μηχανικής, που δείχνει πως μπορεί εύκολα να εφαρμοστεί στο γραφικό περιβάλλον του EMSO.
 
Σχετικά links εδώ:

Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου