Documente Academic
Documente Profesional
Documente Cultură
Laborator Nr.1
La disciplina Modelarea Imitaional
Tema:"Limbajul Modelica i softul pentru
modelarea imitaional"
Efectuat:
Ghiderman Ion
Verificat:
Ungureanu Valeriu
Chiinu, 2017
Introducere n Modelica
Ce este Modelica?
Modelica este un limbaj de modelare orientat pe obiecte, declarativ,
multidimensional, pentru modelarea orientat pe componente a sistemelor complexe, de
exemplu, sisteme care conin subcomponente mecanice, electrice, electronice, hidraulice,
termice, de comand, electrice sau de proces. Limbajul liber Modelica este dezvoltat de
Asociaia non-profit Modelica. Asociaia Modelica dezvolt, de asemenea, librria liber
Modelica Standard care conine aproximativ 1360 de componente generice i 1280 de funcii n
diverse domenii, ncepnd cu versiunea 3.2.1.
Caracteristici
Istorie
Implementri
Aplicaii
Modelica este proiectat pentru a fi neutre de domeniu i, ca urmare, este utilizat ntr - o
larg varietate de aplicaii, cum ar fi sisteme fluide (de exemplu, generarea de energie cu abur,
hidraulice, etc.), aplicaii auto ( n special pentru sistemul de propulsie) i sisteme mecanice (de
exemplu, sisteme cu mai multe corpuri, mecatronice etc.).
Modelica este folosit din ce n ce mai mult pentru simularea sistemelor termo-lichide i
energetice.
3
Modelica n exemple. Modelul clasic Lotka-Voltera
Modelul clasic Lotka-Volterra implic dou specii. O specie este specia "prad". n
aceast seciune, populaia speciilor de prad va fi reprezentat prin x. Celelalte specii sunt
speciile "prdtor" ale cror populaii vor fi reprezentate de y.
Exist trei efecte importante ntr-un sistem Lotka-Volterra. Primul este reproducerea
speciei "prad". Se presupune c reproducerea este proporional cu populaia. Putem reprezenta
acest lucru matematic ca:
unde y este populaia de prdtori, seste schimbarea populaiei de prdtori din cauza
4
unde peste declinul populaiei de prad din cauza drmrii , peste creterea populaiei
Folosind relaiile anterioare, putem extinde fiecare dintre termenii din partea dreapt n
aceste dou ecuaii:
y = y0;
equation
der(x) = x*(alpha-beta*y);
der(y) = y*(delta*x-gamma);
end ClassicModelInitialEquations;
5
Soluia triviala
model QuiescentModel "Find steady state solutions to LotkaVolterra
equations"
parameter Real alpha=0.1 "Reproduction rate of prey";
der(x) = 0;
der(y) = 0;
equation
der(x) = x*(alpha-beta*y);
der(y) = y*(delta*x-gamma);
end QuiescentModel;
6
Soluia cnd se utilizeaz valorile de start
model QuiescentModelUsingStart "Find steady state solutions to
LotkaVolterra equations"
parameter Real alpha=0.1 "Reproduction rate of prey";
parameter Real beta=0.02 "Mortality rate of predator per prey";
parameter Real gamma=0.4 "Mortality rate of predator";
parameter Real delta=0.02 "Reproduction rate of predator per prey";
der(x) = 0;
der(y) = 0;
equation
der(x) = x*(alpha-beta*y);
der(y) = y*(delta*x-gamma);
end QuiescentModelUsingStart;
7
Cderea unei mingi
model BouncingBall "The 'classic' bouncing ball model"
type Height=Real(unit="m");
type Velocity=Real(unit="m/s");
parameter Real e=0.8 "Coefficient of restitution";
parameter Height h0=1.0 "Initial height";
Height h;
Velocity v;
initial equation
h = h0;
equation
v = der(h);
der(v) = -9.81;
when h<0 then
reinit(v, -e*pre(v));
end when;
end BouncingBall;
8
9