Modelica. Traditionella simuleringsverktyg. Ny generell fysikalisk modellering. Generella program. Specialiserade program

Relevanta dokument
Institutionen för systemteknik

Introduktion till LTspice

Semantic and Physical Modeling and Simulation of Multi-Domain Energy Systems: Gas Turbines and Electrical Power Networks

Sammanfattning av föreläsning 10. Modellbygge & Simulering, TSRT62. Föreläsning 11. DAE-modeller. Modelltyper. Föreläsning 11 : DAEmodeller

Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten?

Att använda el. Ellära och Elektronik Moment DC-nät Föreläsning 3. Effekt och Anpassning Superposition Nodanalys och Slinganalys.

Matematik, Modellering och Simulering. Markus Dahl, Carl Jönsson Wolfram MathCore

Sammanfattning av föreläsning 11. Modellbygge & Simulering, TSRT62. Föreläsning 12. Simulering. Föreläsning 12. Numeriska metoder och Simulering

Dagens meny: Niclas Persson, Control and Communication. Gömda villkor i DAE:er. Hur hittar man gömda villkor? Pantelides algoritm

Programmering i C++ EDA623 Objektorienterad programutveckling. EDA623 (Föreläsning 5) HT / 33

Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten?

Objektorienterade programmeringsspråk. Objektorienterade språk. Den objekt-orienterade modellen. Jämför med icke-oo

Översikt. Programmering tillämpningar och datastrukturer. Vad kursen täcker. Lärare. Rekommenderad litteratur. Kursmål 729G58 (HKGBB7)

Linköpings Universitet Institutionen för datavetenskap (IDA) UPP-gruppen Arv och polymorfi

Modellbygge och simulering

TANA17 Matematiska beräkningar med Matlab

Linköpings Universitet Institutionen för datavetenskap (IDA) UPP-gruppen Arv och polymorfi

IF1330 Ellära KK1 LAB1 KK2 LAB2. tentamen

Mjukvarudesign. Designprocessen. Teknisk design. Konceptuell design

Kan vi beskriva ett system utan någon fysikalisk kännedom om systemet?

Räta linjer. Ekvationssystem. Att hitta räta linjens ekvation ifrån olika förutsättningar. 1.1 Hitta en rät linjes ekvation utifrån en ritad graf.

Design av interaktiv multimedia. Läs i förväg om det som övningarna kommer att beröra. Träna hemma både före och efter övningarna.

Matematisk Modellering

TDP005. Föreläsning 3 - UML. Filip Strömbäck

NpMa2b Muntlig del vt 2012

std_logic & std_logic_vector

Inledande programmering med C# (1DV402) Introduktion till C#

Objektorientering: Lagring, räckvidd och livstid

PROGRAMMERINGSTEKNIK TIN212

Föreläsning 15: Repetition DVGA02

Creo Customization. Lars Björs

Introduktion till Xilinx CPLD och ISE WebPack 6.2 Version NV

Objektorienterad Programkonstruktion. Föreläsning 6 23 nov 2015

EL1000/1120/1110 Reglerteknik AK

Introduktion till modifierad nodanalys

Grundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 20

Solar cells. 2.0 Inledning. Utrustning som används i detta experiment visas i Fig. 2.1.

TILLÄMPNINGAR INOM DATORTEKNIK

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 11 Jonas Lindgren, Institutionen för Datavetenskap, LiU

IE1206 Inbyggd Elektronik

Reglerteknik AK. Tentamen 24 oktober 2016 kl 8-13

Grundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 14

MATLAB. Python. Det finns flera andra program som liknar MATLAB. Sage, Octave, Maple och...

Mål Likformighet, Funktioner och Algebra år 9

UML 1(5) Introduktion till Unified Modeling Language. 1 Bakgrund och historik

Inledande matematik M+TD

IE1206 Inbyggd Elektronik

Begreppsmodellering i UML

Integration av matematik och teknik på ingenjörsutbildningar

Generics och polymorfism. Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016

Programmerbar logik (PLD) Programmeringsspråket VHDL Kombinatoriska funktioner i VHDL för PLD Sekvensfunktioner i VHDL för PLD

LABORATIONSINSTRUKTION

Laboration 1: Figurer i hierarki

Objektorientering: Lagring och livstid

FÖRELÄSNING 8 INTRODUKTION TILL DESIGN AV DIGITALA ELEKTRONIKSYSTEM

Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten?

Objektorienterad programmering

VHDL 1. Programmerbara kretsar

IE1205 Digital Design: F10: Synkrona tillståndsautomater del 2

Arv. Fundamental objekt-orienterad teknik. arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier

Second handbook of research on mathematics teaching and learning (NCTM)

x 2 x 1 W 24 november, 2016, Föreläsning 20 Tillämpad linjär algebra Innehåll: Projektionssatsen Minsta-kvadratmetoden

Metoder (funktioner) Murach s: kap Winstrand Development

Operationsfo rsta rkarens parametrar

Processidentifiering och Polplacerad Reglering

Simuleringsprogrammet LTspice

Bedömning för lärande i matematik. PRIM-gruppen. Inger Ridderlind. Inger Ridderlind, PRIM-gruppen

Arrayer. results

Objektorienterad programmering Föreläsning 4

EL1000/1120 Reglerteknik AK

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 26 november 2015 Sida 1 / 28

UML. Klassdiagr. Abstraktion. Relationer. Överskugg. Överlagr. Aktivitetsdiagram Typomv. Typomv. Klassdiagr. Abstraktion. Relationer.

LABORATIONSHÄFTE NUMERISKA METODER GRUNDKURS 1, 2D1210 LÄSÅRET 03/04. Laboration 3 3. Torsionssvängningar i en drivaxel

Att göra spel med Game Maker. Rum. Grundläggande delar. Gamemaker, dagens föreläsning. Programmeringsmodell

Modellering av Dynamiska system. - Uppgifter till övning 1 och 2 17 mars 2010

2I1049 Föreläsning 5. Objektorientering. Objektorientering. Klasserna ordnas i en hierarki som motsvarar deras inbördes ordning

Moment Viktiga exempel Övningsuppgifter I Ö5.1b, Ö5.2b, Ö5.3b, Ö5.6, Ö5.7, Ö5.11a

Elektriska komponenter och kretsar. Emma Björk

Digitalt lärande och programmering i klassrummet

Interface. Interface. Tobias Wrigstad (baserat på bilder från Tom Smedsaas) 3 december 2010

Högre ordnings ekvationer och system av 1:a ordningen

DIGITALTEKNIK. Laboration D172

Introduktion till syntesverktyget Altera Max+PlusII

IE1206 Inbyggd Elektronik

Tentamen i Digitalteknik, EITF65

LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p

SF1624 Algebra och geometri

Vektorgeometri för gymnasister

Laborationskort - ML4

Innehåll. Introduktion till objektorientering. OOP (objektorienterad programmering) Objekt, instanser, klasser

Metoder och verktyg för funktionssäkerhet

Praktisk beräkning av SPICE-parametrar för halvledare

Tentamen Objekt-orienterad programmering i Java, 5p distanskurs

Planering Programmering grundkurs HI1024 HT 2014

IRIS Integrerat Dynamiskt Prognostiserande Underhållsstöd

Dina anteckningar: Semifysikalisk modellering i kursen Modellering

Byggnationen av Cheopspyramiden - ett visualiseringsprojekt. Mathias Bergqvist, Rikard Gehlin, Henrik Gunnarsson

SMD033 Digitalteknik. Digitalteknik F1 bild 1

Inkapsling (encapsulation)

Föreläsning 8 - del 2: Objektorienterad programmering - avancerat

Transkript:

Modelica Traditionella simuleringsverktyg Generella program blockdiagram med in- och utsignaler ACSL, Simulink, Systembuild Baserade på CSSL (1967) Beräkningseffektivitet, ej användarvänlighet Specialiserade program Elektriska system (SPICE, Saber) Mekaniska system (ADAMS, DADS) Svårt med blandade system 2000-12-06 Tony Sandberg, Fordonsystem. 2 Ny generell fysikalisk modellering Nya program under 80- och 90-talet ASCEND, Dymola, gproms, NMF, ObejtMath, Smile mfl Icke-kausal modellering med ekvationer Objektorientering för strukturering Standardisering av modellieringsspråk Förening av olika koncept Utbyte av modeller och modellbibliotek Modelica 1.0 klart September 1997. 2000-12-06 Tony Sandberg, Fordonsystem. 3 1

Objektorienterad matematisk modellering Objekt är en samling av variabler, ekvationer och funktioner. Klasser är mallar som man kan skapa nya objekt av. Ärvning tillåter att ekvationer och funktioner som definierats i en klass kan återanvändas när man skapar ett nytt objekt. 2000-12-06 Tony Sandberg, Fordonsystem. 4 Modellering Standard komponenter hämtas från modellbibliotek (instansiering av objekt) Ekvationer på naturlig form Ikoner sammanbinds grafiskt 2000-12-06 Tony Sandberg, Fordonsystem. 5 Exempel SineVoltage1=220 Ground1 R=10 C=0.01 Resistor1 Capacitor1 R=100 L=0.1 Resistor2 Inductor1 model circuit Ground Ground1; Resistor Resistor1(R=10); Resistor Resistor2(R=100); Capacitor Capacitor1(C=0.01); Inductor Inductor1(L=0.1); SineVoltage SineVoltage1(V=220, freqhz=50 ); Equation connect(sinevoltage1.p, Resistor2.p); connect(resistor1.p, SineVoltage1.p); connect(capacitor1.p, Resistor1.n); connect(inductor1.p, Resistor2.n); connect(inductor1.n, SineVoltage1.n); connect(ground1.p, SineVoltage1.n); connect(capacitor1.n, SineVoltage1.n); end circuit Figur 1. En enkel elektrisk krets. Figur 2. Modelica kod för kretsen i figur 1. 2000-12-06 Tony Sandberg, Fordonsystem. 6 2

Variabler och anslutningar Anslutningar och förbindelser motsvaras av komponentens fysikaliska förbindelser. connector Pin "Pin of an electrical component" SIunits.Voltage v "Potential at the pin"; flow SIunits.Current i "Current flowing into the pin"; end Pin; Vid förbindelse genereras automatiskt: Pin1.v = Pin2.v Pin1.i + Pin2.i = 0 2000-12-06 Tony Sandberg, Fordonsystem. 7 Delmodeller och ärvning Gemensamma egenskaper i delmodeller partial model TwoPin "Component with two electrical pins p and n SIunits.Voltage v "Voltage drop between the two pins (= p.v - n.v)"; Pin p, n; equation v = p.v - n.v; 0 = p.i + n.i; end TwoPin; 2000-12-06 Tony Sandberg, Fordonsystem. 8 Ekvationer och icke-kausal modellering Ekvationer används istället för tilldelningar. In- och utsignaler definieras inte. Kausaliteten bestäms då ekvationssystemet löses. -> Icke-kausal modellering. Icke-kausalt R * I = V Kausalt I: = V / R V:= R * I 2000-12-06 Tony Sandberg, Fordonsystem. 9 3

Ärvning och parametrar model Resistor "Ideal resistor" extends TwoPin; parameter SIunits.Resistance R; equation R * p.i = v; end Resistor; Extends: variabler, ekvationer och gränssnitt ärvs. Parameter: konstant under simuleringen, ändras lätt mellan simuleringar. 2000-12-06 Tony Sandberg, Fordonsystem. 10 Lösning och simulering DAE-systemet sorteras i beräkningsordning Ekvationerna förenklas om möjligt. Tilldelningar skapas genom att obekanta löses ut algebraiskt. Endast algebraiska loopar löses numeriskt. C-kod genereras och kompileras. 2000-12-06 Tony Sandberg, Fordonsystem. 11 Exemplets ekvationssystem Ground1.p.v = 0; Resistor1.v = Resistor1.p.v-Resistor1.n.v; 0 = Resistor1.p.i+Resistor1.n.i; Resistor1.i = Resistor1.p.i; Resistor1.R*Resistor1.i = Resistor1.v; Resistor2.v = Resistor2.p.v-Resistor2.n.v; 0 = Resistor2.p.i+Resistor2.n.i; Resistor2.i = Resistor2.p.i; Resistor2.R*Resistor2.i = Resistor2.v; Capacitor1.v = Capacitor1.p.v-Capacitor1.n.v; 0 = Capacitor1.p.i+Capacitor1.n.i; Capacitor1.i = Capacitor1.p.i; Capacitor1.i = Capacitor1.C*der(Capacitor1.v); Inductor1.v = Inductor1.p.v-Inductor1.n.v; 0 = Inductor1.p.i+Inductor1.n.i; Inductor1.i = Inductor1.p.i; Inductor1.L*der(Inductor1.i) = Inductor1.v; SineVoltage1.v = SineVoltage1.p.v-SineVoltage1.n.v; 0 = SineVoltage1.p.i+SineVoltage1.n.i; SineVoltage1.i = SineVoltage1.p.i; for i in (1:SineVoltage1.signalSource.nout) loop SineVoltage1.signalSource.outPort.signal[i] = SineVoltage1.signalSource.p_offset [i]+(if time < SineVoltage1.signalSource.p_startTime[i] then 0 else SineVoltage1.signalSource.p_amplitude[i]*sin(2*Sine Voltage1.signalSource.pi* SineVoltage1.signalSource.p_freqHz[i]*(time- SineVoltage1.signalSource.p_startTime [i])+sinevoltage1.signalsource.p_phase[i])); end for; SineVoltage1.v = SineVoltage1.signalSource.outPort.signal[1]; Capacitor1.n.i+Ground1.p.i+Inductor1.n.i+SineVoltag e1.n.i = 0; Ground1.p.v = Capacitor1.n.v; Inductor1.n.v = Capacitor1.n.v; SineVoltage1.n.v = Capacitor1.n.v; Capacitor1.p.i+Resistor1.n.i = 0; Resistor1.n.v = Capacitor1.p.v; Inductor1.p.i+Resistor2.n.i = 0; Resistor2.n.v = Inductor1.p.v; Resistor1.p.i+Resistor2.p.i+SineVoltage1.p.i = 0; Resistor2.p.v = Resistor1.p.v; SineVoltage1.p.v = Resistor1.p.v; 2000-12-06 Tony Sandberg, Fordonsystem. 12 4

Standard bibliotek Matematik funktioner SI-enheter Komponenter Block (input / output) El Mekanik Div kommersiella 2000-12-06 Tony Sandberg, Fordonsystem. 13 Verktyg med Modelica Dymola MathModelica 2000-12-06 Tony Sandberg, Fordonsystem. 14 Referenser [1] Modelica home page http://www.modelica.org [2] H. Elmqvist, S-E. Mattson. Modelica - the next generation modeling language an international design effort. In Proceedings of the 1 st World Congress on System Simulation (WCSS '97), Singapore, 1-3 Sept, 1997. [3] S-E. Mattson, H. Elmqvist. An overview of the modeling language Modelica. Eurosim '98 Simulation Congress, Helsinki, Finland, 14-15 April, 1998. [4] P. Fritzson, V. Engelson. Modelica - a unified object-oriented language for system modeling and simulation. 12 th European Conference on Object-Oriented Programming (ECOOP'98), Brussels, Belgium, 20-24 July, 1998. 2000-12-06 Tony Sandberg, Fordonsystem. 15 5