50
Modelica v kostce letem světem jazykem a nástroji [email protected] Použity části materiálů Petera Fritzsona

letem světem jazykem a nástrojicreativeconnections.cz/2015_ModelicaSeminar/2... · Objektový vše je třída jeden objekt a jeho instance Strong-typed (nemíchají se typy dohromady)

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: letem světem jazykem a nástrojicreativeconnections.cz/2015_ModelicaSeminar/2... · Objektový vše je třída jeden objekt a jeho instance Strong-typed (nemíchají se typy dohromady)

Modelica v kostceletem světem jazykem a nástroji

[email protected]

Použity části materiálů Petera Fritzsona

Page 2: letem světem jazykem a nástrojicreativeconnections.cz/2015_ModelicaSeminar/2... · Objektový vše je třída jeden objekt a jeho instance Strong-typed (nemíchají se typy dohromady)

Modelica - něco historie● University of Linköping, Švédsko● od 1996, první aplikace 2000● Modelica Association

○ DLR, Modelon, Dassault, Maplesoft, Wolfram …○ www.modelica.org

● Modelica language version 3.3○ https://modelica.org/documents/ModelicaSpec33.pdf

● Modelica standard library (v3.2.1)○ Přes 2000 modelů a funkcí

Page 3: letem světem jazykem a nástrojicreativeconnections.cz/2015_ModelicaSeminar/2... · Objektový vše je třída jeden objekt a jeho instance Strong-typed (nemíchají se typy dohromady)

Modelica - co to je za jazyk

Page 4: letem světem jazykem a nástrojicreativeconnections.cz/2015_ModelicaSeminar/2... · Objektový vše je třída jeden objekt a jeho instance Strong-typed (nemíchají se typy dohromady)

Jaký jazyk je Modelica?

● Deklarativní

● Multidoménový

● Objektový

● Vizuální

● Efektivní

● Neproprietární

Page 5: letem světem jazykem a nástrojicreativeconnections.cz/2015_ModelicaSeminar/2... · Objektový vše je třída jeden objekt a jeho instance Strong-typed (nemíchají se typy dohromady)

Deklarativní

● co se má udělat ( např SQL)● Vs. Imperativní – jak se to má

udělat (C, java, Matlab) -> Equation based -> Akauzální

class VanDerPol "Van der Pol oscillator model" Real x(start = 1) "Descriptive string for x”; Real y(start = 1) "y coordinate”; parameter Real lambda = 0.3;equation der(x) = y; der(y) = -x + lambda*(1 - x*x)*y; end VanDerPol;

SELECT email FROM studenti WHERE známka < 50 ORDER BY prijmeni ASC

for(int i = 0; i < studenti.length;i++)

if (studenti[i].známka < 50)lamy.add(studenti[i]);

lamy.Sort(prijmeni);

Page 6: letem světem jazykem a nástrojicreativeconnections.cz/2015_ModelicaSeminar/2... · Objektový vše je třída jeden objekt a jeho instance Strong-typed (nemíchají se typy dohromady)

Deklarativní

● Proprietární kód klasických programovacích jazyků (např. Ada, Fortran, C,...)

● Blokové modelovací jazyky (např. Simulink, ...)

● vs Modelica - automatické odvození kauzality - AKAUZÁLNÍ

Page 7: letem světem jazykem a nástrojicreativeconnections.cz/2015_ModelicaSeminar/2... · Objektový vše je třída jeden objekt a jeho instance Strong-typed (nemíchají se typy dohromady)

Multidoménový

● Domény ○ Elektrické○ Mechanické○ Termodynamické○ Hydraulické○ Biologické○ .. definovatelné

● mezi doménami jsou stejné principy○ elektrické analogie

Page 8: letem světem jazykem a nástrojicreativeconnections.cz/2015_ModelicaSeminar/2... · Objektový vše je třída jeden objekt a jeho instance Strong-typed (nemíchají se typy dohromady)

Multidoménový

● mezi doménami jsou stejné principy

Page 9: letem světem jazykem a nástrojicreativeconnections.cz/2015_ModelicaSeminar/2... · Objektový vše je třída jeden objekt a jeho instance Strong-typed (nemíchají se typy dohromady)

Objektový

● vše je třída● jeden objekt a jeho instance● Strong-typed (nemíchají se typy

dohromady)● Dědičnost

partial class extends

● Objektový jazyk co do hierarchického návrhu

connector PositivePressureFlow "Pressure[mmHg] and Inflow[ml/min]" extends Library.PressureFlow.PressureFlow;annotation ( defaultComponentName="q_in", Icon(coordinateSystem(preserveAspectRatio=true{ 100,100}}), graphics={Rectangle( extent={{-20,10},{20,-10}}, lineColor={0,0,0}, lineThickness=1), Polygon( points={{0,100},{100,0},{0,-100},{-100,0},{0,100}}, lineColor={0,0,0}, smooth=Smooth.None, fillPattern=FillPattern.Solid, fillColor={0,0,0})}),[...]);end PositivePressureFlow; connector PressureFlow "Pressure[mmHg] and Flow[ml/min]" Real pressure( final quantity="Pressure", final unit="mmHg"); flow Real q( final quantity="Flow", final unit="ml/min") "flow"; annotation (Documentation(revisions="<html>[...]);end PressureFlow;

Page 10: letem světem jazykem a nástrojicreativeconnections.cz/2015_ModelicaSeminar/2... · Objektový vše je třída jeden objekt a jeho instance Strong-typed (nemíchají se typy dohromady)

Vizuální návrh systému

● Hierarchická struktura● „dole“ rovnice● vizuální editor● nakonec se stejně sesype

na rovnice

equation der(volume) = q1.q + q2.q; q1.pressure = pressure1; q2.pressure = pressure2;

Page 11: letem světem jazykem a nástrojicreativeconnections.cz/2015_ModelicaSeminar/2... · Objektový vše je třída jeden objekt a jeho instance Strong-typed (nemíchají se typy dohromady)

Efektivní

● Efektivita simulace srovnatelná s C● // při kompilaci překlad do C● kompilace trvá déle● Matlab je interpretovaný

Page 12: letem světem jazykem a nástrojicreativeconnections.cz/2015_ModelicaSeminar/2... · Objektový vše je třída jeden objekt a jeho instance Strong-typed (nemíchají se typy dohromady)

Neproprietární

● „ne-soukromý“ ~ veřejný● Modelica Association● Společný vývoj dalších verzí

Page 13: letem světem jazykem a nástrojicreativeconnections.cz/2015_ModelicaSeminar/2... · Objektový vše je třída jeden objekt a jeho instance Strong-typed (nemíchají se typy dohromady)

Příklad - kulička na pružině

● F = -k*y● F = m*a

Page 14: letem světem jazykem a nástrojicreativeconnections.cz/2015_ModelicaSeminar/2... · Objektový vše je třída jeden objekt a jeho instance Strong-typed (nemíchají se typy dohromady)

Příklad - kulička na pružině

● rovnicové vyjádření

Page 15: letem světem jazykem a nástrojicreativeconnections.cz/2015_ModelicaSeminar/2... · Objektový vše je třída jeden objekt a jeho instance Strong-typed (nemíchají se typy dohromady)

Příklad - kulička na pružině

● vyjádření v kódu (Matlab)

function dydt = springode(t,W)k = 1;m = 1;dydt=zeros(2,1);% whats in dydt% dydt(1) = der(y1) = der(y)% dydt(2) = der(y2) = der(der(v))dydt(1) = W(2);dydt(2) = -k*W(1)/m;

% RUN IT[t,y]=ode23s(@springode,[0 10],[1;0]); plot(t, y(:,1));

Page 16: letem světem jazykem a nástrojicreativeconnections.cz/2015_ModelicaSeminar/2... · Objektový vše je třída jeden objekt a jeho instance Strong-typed (nemíchají se typy dohromady)

Příklad - kulička na pružině

● vyjádření v Simulinku

Page 17: letem světem jazykem a nástrojicreativeconnections.cz/2015_ModelicaSeminar/2... · Objektový vše je třída jeden objekt a jeho instance Strong-typed (nemíchají se typy dohromady)

Příklad - kulička na pružině

● Modelica: low-level

model SpringMass Real f “Síla tě provází”; Real x “pozice”; Real derf “Derivace pozice”; parameter Real k = 1 “tuhosť”; parameter Real m = 1 “Hmotnost”; initial equation x = -1;

equation x = - f / k; f + m*der(derf)/k = 0;

derf = der(f);end SpringMass;

Page 18: letem světem jazykem a nástrojicreativeconnections.cz/2015_ModelicaSeminar/2... · Objektový vše je třída jeden objekt a jeho instance Strong-typed (nemíchají se typy dohromady)

Příklad - kulička na pružině

● Modelica: objektový přístup○ definujeme si jednotlivé prvky...

Page 19: letem světem jazykem a nástrojicreativeconnections.cz/2015_ModelicaSeminar/2... · Objektový vše je třída jeden objekt a jeho instance Strong-typed (nemíchají se typy dohromady)

Příklad - kulička na pružině

● … a sestavíme jakýkoli systém!

Page 20: letem světem jazykem a nástrojicreativeconnections.cz/2015_ModelicaSeminar/2... · Objektový vše je třída jeden objekt a jeho instance Strong-typed (nemíchají se typy dohromady)

Akauzální modelování

www.wolfram.com

Page 21: letem světem jazykem a nástrojicreativeconnections.cz/2015_ModelicaSeminar/2... · Objektový vše je třída jeden objekt a jeho instance Strong-typed (nemíchají se typy dohromady)

Nástroje Modelica

Page 22: letem světem jazykem a nástrojicreativeconnections.cz/2015_ModelicaSeminar/2... · Objektový vše je třída jeden objekt a jeho instance Strong-typed (nemíchají se typy dohromady)

Dymola

● Dassault Systémes● Integrace do 3D CAD/CAM/CAE prostředí Catia● “industry standard”

Page 23: letem světem jazykem a nástrojicreativeconnections.cz/2015_ModelicaSeminar/2... · Objektový vše je třída jeden objekt a jeho instance Strong-typed (nemíchají se typy dohromady)

OpenModelica

● Open-source platforma● Openmodelica.org● verze 1.9.2● OMEdit, OMNotebook, OMOptim● Rychle se vyvíjí, máme kontakty na developery● Striktní interpretace jazyka● Konflikty v anotacích● Stále něco chyb

○ české znaky○ ...

Page 24: letem světem jazykem a nástrojicreativeconnections.cz/2015_ModelicaSeminar/2... · Objektový vše je třída jeden objekt a jeho instance Strong-typed (nemíchají se typy dohromady)

SystemModeler (Wolfram)

● Dříve MathModelica (MathCore)● Základ z OM, pokročilé UI● Integrace s Wolfram Mathematica

Page 25: letem světem jazykem a nástrojicreativeconnections.cz/2015_ModelicaSeminar/2... · Objektový vše je třída jeden objekt a jeho instance Strong-typed (nemíchají se typy dohromady)

Další nástroje

● MapleSim● Optimalizace rovnic pomocí Maple● Rozsáhlý simulační framework ● Podporuje také komponenty z Modelicy

● SimulationX● ITI (DE)● Pohony, hydraulika, termodynamika● Podporuje také jazyk Modelica

● Jmodelica (Modelon AB)● Open-source překladač bez vlastního editoru

■ Eclipse● Optimica

■ Více k optimalizaci modelů

Page 26: letem světem jazykem a nástrojicreativeconnections.cz/2015_ModelicaSeminar/2... · Objektový vše je třída jeden objekt a jeho instance Strong-typed (nemíchají se typy dohromady)

A další...https://www.modelica.org/tools

Page 27: letem světem jazykem a nástrojicreativeconnections.cz/2015_ModelicaSeminar/2... · Objektový vše je třída jeden objekt a jeho instance Strong-typed (nemíchají se typy dohromady)

Modelica a prostředí

● Grafické zobrazení - modelování - prostředí – proprietary

● textové zobrazení - modelica - // non-proprietary //

● simulace - prostředí – proprietary

Page 28: letem světem jazykem a nástrojicreativeconnections.cz/2015_ModelicaSeminar/2... · Objektový vše je třída jeden objekt a jeho instance Strong-typed (nemíchají se typy dohromady)

Závěrem

Page 29: letem světem jazykem a nástrojicreativeconnections.cz/2015_ModelicaSeminar/2... · Objektový vše je třída jeden objekt a jeho instance Strong-typed (nemíchají se typy dohromady)

Co si odnést..● Modelica nám umožňoje tvořit

○ složité systémy

○ přehledné a modifikovatelné modely

○ univerzální knihovny

● má dostupné profesionální i free open-

source řešení

Page 30: letem světem jazykem a nástrojicreativeconnections.cz/2015_ModelicaSeminar/2... · Objektový vše je třída jeden objekt a jeho instance Strong-typed (nemíchají se typy dohromady)

Děkuji za pozornostFilip Ježek

Page 31: letem světem jazykem a nástrojicreativeconnections.cz/2015_ModelicaSeminar/2... · Objektový vše je třída jeden objekt a jeho instance Strong-typed (nemíchají se typy dohromady)

Co dokážeme simulovat

Page 32: letem světem jazykem a nástrojicreativeconnections.cz/2015_ModelicaSeminar/2... · Objektový vše je třída jeden objekt a jeho instance Strong-typed (nemíchají se typy dohromady)

Co to znamená Equation based modelling

● Vyjádření systému jen pomocí rovnic● Triviální

○ a=3● Jednoduché

○ a = 2b + 3● jsou to ale skutečné rovnice

○ 0 = - a + 2b + 3● ODE – obyčejné diferenciální rovnice

○ der(a) = b + 2;○ a = integrál( b + 2);

● Jen 1. řádu!○ soustava 1. řádů

Page 33: letem světem jazykem a nástrojicreativeconnections.cz/2015_ModelicaSeminar/2... · Objektový vše je třída jeden objekt a jeho instance Strong-typed (nemíchají se typy dohromady)

Co to znamená Equation based modelling

● Stejný počet neznámých a rovnic (na všech úrovních!)● Systém musí mít řešení (singularity!)

● V současné době žádné PDE○ Čili žádné FEM (finite element method)

■ ani CFD (computational fluid dynamics), ○ Je ale možné využít výsledků a propojit je

Page 34: letem světem jazykem a nástrojicreativeconnections.cz/2015_ModelicaSeminar/2... · Objektový vše je třída jeden objekt a jeho instance Strong-typed (nemíchají se typy dohromady)

Pohled komponentového návrhu

● Schéma zapojení● pohled - co ikona to fyzická komponenta - vlastně stavíme přímo blokový

schéma● Spojovací linky vyjadřují propojení mezi komponentami● Uvnitř komponentů jsou rovnice popisující jejich chování● Hierarchická víceúrovňová kompozice● textová reprezentace – jen spojujeme rovnice

Page 35: letem světem jazykem a nástrojicreativeconnections.cz/2015_ModelicaSeminar/2... · Objektový vše je třída jeden objekt a jeho instance Strong-typed (nemíchají se typy dohromady)

Drag n drop vs. Equation based

● Equation based○ Zapisujeme rovnice v komponentě

● Drag’n’drop○ Spojujeme komponenty○ Parametrizace prvků

model system fix fix1 annotation (Placement(transformation(extent={{-20,60},{0,80}}))); spring spring1 annotation (Placement(transformation(extent={{-20,20},{0,40}}))); mass mass1(m=1, x(start=-1)) annotation (Placement(transformation(extent={{-20,-12},{0,8}}))); spring spring2(k=2) annotation (Placement(transformation(extent={{-40,-18},{-20,2}}))); mass mass2(m=1, initPos=-1) annotation (Placement(transformation(extent={{-40,-50},{-20,-30}})));equation connect(fix1.position_y1, spring1.y1) annotation (Line( points={{-11,61},{-11,39}}, color={0,0,0}, smooth=Smooth.None)); connect(mass1.y, spring1.y2) annotation (Line( points={{-10,7},{-10,14},{-11,14},{-11,21}}, color={0,0,255}, smooth=Smooth.None)); connect(spring2.y1, spring1.y2) annotation (Line( points={{-31,1},{-20.5,1},{-20.5,21},{-11,21}}, color={0,0,255}, smooth=Smooth.None)); connect(mass2.y, spring2.y2) annotation (Line( points={{-30,-31},{-30,-17},{-31,-17}}, color={0,0,255}, smooth=Smooth.None));en system;

Page 36: letem světem jazykem a nástrojicreativeconnections.cz/2015_ModelicaSeminar/2... · Objektový vše je třída jeden objekt a jeho instance Strong-typed (nemíchají se typy dohromady)

Kauzalita vs akauzalita● Postup výpočtu je dán zápisem

○ X = x +1● Postup výpočtu je dán strukturou

○ Vyřeší kompilátor● (postup výpočtu se mění)

Page 37: letem světem jazykem a nástrojicreativeconnections.cz/2015_ModelicaSeminar/2... · Objektový vše je třída jeden objekt a jeho instance Strong-typed (nemíchají se typy dohromady)

Syntax

● Struktura

● Klíčová slova○ Equation○ Initial equation○ End○ if, when

● classes:○ Package○ Model○ Connector○ Další datové typy

Page 38: letem světem jazykem a nástrojicreativeconnections.cz/2015_ModelicaSeminar/2... · Objektový vše je třída jeden objekt a jeho instance Strong-typed (nemíchají se typy dohromady)

Hodnotové datové typy● Real

○ spojitá veličina● Integer

○ celočíselná veličina - diskrétní● Boolean

○ true / false● String

○ řetězec znaků● Enumeration

○ Výčet● Předpony:

○ Constant■ constant Real x;

○ Parameter■ parameter Boolean alive;

○ Discrete■ discrete Real schody;

○ Input, output○ Partial

Page 39: letem světem jazykem a nástrojicreativeconnections.cz/2015_ModelicaSeminar/2... · Objektový vše je třída jeden objekt a jeho instance Strong-typed (nemíchají se typy dohromady)

Jednotky● Automatická kontrola jednotek proti překlepům! * (OM zatím neumí)● Osy na grafu etc.. ** (OM umí)● Není podstatné pro výpočet.

● Základní jednotky SI○ m, kg, s, A, K, mol, cd

● Násobky○ p, n, u, m, k, M, G, T, časové: min, h○ Mocniny: 3, -3

● spojování . nikoli *● Např.:

○ m.s-1○ ml/min (~ ml.min-1)

● Detailní info: https://www.modelica.org/events/modelica2008/Proceedings/sessions/session1a2.pdf

○ specifikace nemusí být exaktně implementována● Příklady:

○ Real c (final unit="A.m-2") "Proudová hustota";○ Real Pao (final unit="mmHg") "Arteriální tlak";

Page 40: letem světem jazykem a nástrojicreativeconnections.cz/2015_ModelicaSeminar/2... · Objektový vše je třída jeden objekt a jeho instance Strong-typed (nemíchají se typy dohromady)

Komentáře

● V kódu:○ // inline komentář○ /* blokový komentář */

Page 41: letem světem jazykem a nástrojicreativeconnections.cz/2015_ModelicaSeminar/2... · Objektový vše je třída jeden objekt a jeho instance Strong-typed (nemíchají se typy dohromady)

Třídy a základ dědičnosti

● Vše je třída○ Package○ Model○ Connector○ Block○ Record○ Function○ Class

● Přístup do objektů třídy: tečková notace○ model.submodel.subsubmodel.parameter = 2○ Klavír.klávesa.y = 2○ Klavír.klávesa.y (start = 1)○ pozice = konektor.pozice + 3;

● předpona partial (abstract) - rodič

Page 42: letem světem jazykem a nástrojicreativeconnections.cz/2015_ModelicaSeminar/2... · Objektový vše je třída jeden objekt a jeho instance Strong-typed (nemíchají se typy dohromady)

● Každá třída podporuje vícenásobné dědění● Keyword extends ● Keyword partial – „virtual“ / „abstract“● Přebírá jak objekty a proměnné, tak grafiku

○ Univerzální ikonky

record ColorData parameter Real red = 0.2; parameter Real blue = 0.6; Real green;end ColorData;

class Color extends ColorData;equation red + blue + green = 1;end Color;

keyword denoting inheritance

restricted kind of class without equations

parent class to Color

child class or subclass

Dědičnost

Page 43: letem světem jazykem a nástrojicreativeconnections.cz/2015_ModelicaSeminar/2... · Objektový vše je třída jeden objekt a jeho instance Strong-typed (nemíchají se typy dohromady)

● Veličiny úsilí■ x1 = x2 = x3 =…

● Veličiny toku – keyword flow■ x1 + x2 + x3 +.. = 0

connector Pin "Pin of an electrical component" Modelica.SIunits.Voltage v "Potential at the pin flow Modelica.SIunits.Current i "Current flowing into the pin" end Pin;

Konektory

Page 44: letem světem jazykem a nástrojicreativeconnections.cz/2015_ModelicaSeminar/2... · Objektový vše je třída jeden objekt a jeho instance Strong-typed (nemíchají se typy dohromady)

● vše v jedné komponentě● rozdělené mezi více komponenty

○ propojení konektory● Konektory

○ jednoduché■ Real i;

○ složené■ Real p

flow Real q;○ … a jejich libovolná kombinace.

■ Vyvážený konektor má však obvykle 1+1

Konektory

Page 45: letem světem jazykem a nástrojicreativeconnections.cz/2015_ModelicaSeminar/2... · Objektový vše je třída jeden objekt a jeho instance Strong-typed (nemíchají se typy dohromady)

Konektory: flow proměnné● flow Real q;● Kirchhofovy zákony

○ vytékání je záporné● Počet flow proměnných = minimální počet rovnic

c1.q = 0; (c2.p - c1.p) = 10*c1.q;c1.q = c2.q;

Page 46: letem světem jazykem a nástrojicreativeconnections.cz/2015_ModelicaSeminar/2... · Objektový vše je třída jeden objekt a jeho instance Strong-typed (nemíchají se typy dohromady)

Dokumentace

● ”Popis modelu”

● “Popis proměnné”

● Objeví se v generované dokumentaci:

partial block SO "Single Output continuous control block" extends BlockIcon; RealOutput y "Connector of Real output signal" end SO;

Page 47: letem světem jazykem a nástrojicreativeconnections.cz/2015_ModelicaSeminar/2... · Objektový vše je třída jeden objekt a jeho instance Strong-typed (nemíchají se typy dohromady)

Inicializace● vše v derivaci musí mít počáteční podmínku● pokud nemá, prostředí odhaduje samo

○ 0○ úvodní iterace

● dvě možnosti:○ definice start

■ fixed = true / false○ initial equation

● ne najednou!

model těstoReal x(start = 2, fixed = true, final unit="m") "pocatecni pozice";

initial equationx = 2;

equationder(x) = 8;

end těsto;

Page 48: letem světem jazykem a nástrojicreativeconnections.cz/2015_ModelicaSeminar/2... · Objektový vše je třída jeden objekt a jeho instance Strong-typed (nemíchají se typy dohromady)

● Definují zobrazení a pozice● Ikon● Diagramu● Propojení

● Dokumentace● Vizuální návrh● Vše ostatní krom

matematických vlastností● Nemá vliv na funkci

connector Pin "Pin of an electrical component" Modelica.SIunits.Voltage v "Potential at the pin flow Modelica.SIunits.Current i "Current flowing into the pin" annotation ( unassignedMessage="An electrical current cannot be uniquely calculated."); annotation (defaultComponentName="pin", Icon(coordinateSystem(preserveAspectRatio=true, extent={{-100,-100},{100, 100}}), graphics={Rectangle( extent={{-100,100},{100,-100}}, lineColor={0,0,255}, fillColor={0,0,255}, fillPattern=FillPattern.Solid)}), Diagram(coordinateSystem(preserveAspectRatio=true, extent={{-100,-100},{ 100,100}}), graphics={Rectangle( extent={{-40,40},{40,-40}}, lineColor={0,0,255}, fillColor={0,0,255}, fillPattern=FillPattern.Solid), Text( extent={{-160,110},{40,50}}, lineColor={0,0,255}, textString="%name")}), Documentation(revisions="<html><ul><li><i> 1998 </i> by Christoph Clauss<br> initially implemented<br> </li></ul></html>"));end Pin;

Anotace

Page 49: letem světem jazykem a nástrojicreativeconnections.cz/2015_ModelicaSeminar/2... · Objektový vše je třída jeden objekt a jeho instance Strong-typed (nemíchají se typy dohromady)

Další zdroje● www.modelica.org● Peter Fritzson

○ http://www.ida.liu.se/labs/pelab/modelica/OpenModelica/releases/current/doc/ModelicaTutorialFritzson.pdf - skvělý tutoriál

○ Principles of Object-Oriented Modeling and Simulation with Modelica 2.1 ■ http://www.bausch-gall.de/ModelicaBookExcerpts.pdf■ http://patf-biokyb.lf1.cuni.cz/wiki/cvut/mos_materialy

● pwd protected● Tiller

○ https://cw.felk.cvut.cz/lib/exe/fetch.php/courses/a6m33mos/tiller_introductiontophysicalmodelingwithmodelica.pdf

○ http://book.xogeny.com/

Page 50: letem světem jazykem a nástrojicreativeconnections.cz/2015_ModelicaSeminar/2... · Objektový vše je třída jeden objekt a jeho instance Strong-typed (nemíchají se typy dohromady)

● Nástroje Modelica● Vlastnosti Modelicy● Co je vizuální návrh a co je equation based modelování● Modelica umí simulovat spojité i diskrétní● Bloky se spojují konektory● K definici zobrazení se používají anotace● Hlídáme si jednotky

Shrnutí