Partielle Funktionsevaluierung - der Schlüssel zu den Spice3 Modellen - Professur für Baumaschinen- und Fördertechnik Leipzig, 02.07.2014.

Slides:



Advertisements
Ähnliche Präsentationen
Finding the Pattern You Need: The Design Pattern Intent Ontology
Advertisements

Z-Transformation Die bilaterale Z-Transformation eines Signals x[n] ist die formale Reihe X(z): wobei n alle ganzen Zahlen durchläuft und z, im Allgemeinen,
Algorithmentheorie 08 – Dynamische Programmierung (1)
Klassen - Verkettete Liste -
6. Regelbasierte Systeme
Löschoperationen (1) VDB VDB' DB DB' o = lösche(aname) p?? v v = AName (ArtikelArt) n Löschen entspricht der relationenalgebraischen Differenz. Dann ergibt.
ACM ICPC Praktikum Kapitel 8: Backtracking. Übersicht Backtracking Aufzählung aller Teilmengen Aufzählung aller Permutationen n-Königinnen-Problem.
PPTmaster_BRC_ pot Rexroth Inline compact I/O technology in your control cabinet SERCOS III Components Abteilung; Vor- und Nachname.
IndraMotion MLC RoCo Electric Drives and Controls
Todays Lesson Objective: To apply weather phrases to hobby phrases Todays Language Focus: Which word is the verb?
Todays Lesson Objective: To apply weather phrases to hobby phrases Todays Language Focus: Which word is the verb?
10. Grundlagen imperativer Programmiersprachen
Lösung 5.1Schleifen 1.while (x < 5)if (x < 5) thenwhile Bif B then { do {{do { x = x + 1; x = x + 1; A A }}}} while (x < 5) while B do {x = x + 1;do {A.
Fakultät für informatik informatik 12 technische universität dortmund Optimizations Peter Marwedel TU Dortmund Informatik 12 Germany 2009/01/17 Graphics:
fakultät für informatik informatik 12 technische universität dortmund Optimizations Peter Marwedel TU Dortmund Informatik 12 Germany 2009/01/10 Graphics:
Fakultät für informatik informatik 12 technische universität dortmund Specifications Peter Marwedel TU Dortmund, Informatik 12 Graphics: © Alexandra Nolte,
Peter Marwedel TU Dortmund, Informatik 12
Fakultät für informatik informatik 12 technische universität dortmund Hardware/Software Partitioning Peter Marwedel Informatik 12 TU Dortmund Germany Chapter.
Aufgabenbesprechung Programming Contest. Order 7 Bo Pat Jean Kevin Claude William Marybeth 6 Jim Ben Zoe Joey Frederick Annabelle 0 SET 1 Bo Jean Claude.
Verteilte Software - Java - Prozedurale Programmierung 1
Wenn…… the conditional. Using the conditional tense The conditional tense is used to talk about something that happens only after something else happened.
WS Algorithmentheorie 02 - Polynomprodukt und Fast Fourier Transformation Prof. Dr. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (13 – Offenes Hashing) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
WS Prof. Dr. Th. Ottmann Algorithmentheorie 09 - Suche in Texten Suffix - Bäume.
PL/SQL - Programmierung von Programmeinheiten. © Prof. T. Kudraß, HTWK Leipzig Gespeicherte Prozeduren – Eine Prozedur ist ein benannter PL/SQL Block,
Dr.-Ing. René Marklein - EFT I - WS 06/07 - Lecture 10 / Vorlesung 10 1 Elektromagnetische Feldtheorie I (EFT I) / Electromagnetic Field Theory I (EFT.
Three minutes presentation I ArbeitsschritteW Seminar I-Prax: Inhaltserschließung visueller Medien, Spree WS 2010/2011 Giving directions.
Illustration Beispiel: Benutzergruppen für Lagerverwaltung:
Seminar Telematiksysteme für Fernwartung und Ferndiagnose Basic Concepts in Control Theory MSc. Lei Ma 22 April, 2004.
Einführung in die Programmierung
Bundesamt für Wehrtechnik und Beschaffung THE COST EFFECTIVE DEVELOPMENT OF HLA FEDERATIONS FOR COMPUTER- ASSISTED EXERCISES (CAX) K. Pixius 23-Sep-02.
BIT – Schaßan – WS 02/03 Basisinformationstechnologie HK-Medien Teil 1, 11.Sitzung WS 02/03.
L.O. Fit bleiben Content: All: to be able to say/write 4 activities; use at least 4 adverbs. Most: to be able to say/write 6 activities; use.
Donnerstag, den 28. November FUTURE HOLIDAYS Lernziel: to learn how to express future ideas. Starter: Finde ein Paar! will plane...zu werde hoffe...zu.
Die Zählschleife int s = 0 for (int k=1; k
You need to use your mouse to see this presentation © Heidi Behrens.
Informatik 1 Übung 4.
Abteilung für Telekooperation Übung Softwareentwicklung 2 für Wirtschaftsinformatik Dr. Wieland Schwinger
Abteilung für Telekooperation Übung Softwareentwicklung 1 für Wirtschaftsinformatik Dr. Wieland Schwinger
Exception Handling in Java
Time - die Zeit Asking for the time in German: Wieviel Uhr ist es?
Mehrbelastung durch Maut, Möst und Fahrerlohnkosten Erhöhung
Dynamische Datentypen
Verben Wiederholung Deutsch III Notizen.
German Commands Brandon Soellner Three ways to say you in German, du, ihr, and Sie. There are 3 types of commands.
SAP Protects its Valuable Innovations Alexandra Koseva/ Intellectual Property Department at SAP Labs Bulgaria November 29, 2012.
Behandlung Singulärer Subsysteme mittels Graphentheorie
Purga - Scriptengine Ein Einblick.
External Labels – The rules For all external labels the following rules apply (external labels are all labels which are not inside of a shape) - all labels.
© Boardworks Ltd of 8 Time Manner Place © Boardworks Ltd of 8 This icon indicates that the slide contains activities created in Flash. These.
Algorithmen und Datenstrukturen SS 2005
MODULA-2.
Agenda für heute, 7. April, 2005 Bedingte ProgrammausführungBedingte Programmausführung Algorithmische Grundlagen Vergleichsoperatoren, Wahrheitswerte.
1 Chapter 7: Selected Algorithms 7.1 External Search 7.2 External Sorting 7.3 Text searching.
1 Intern | ST-IN/PRM-EU | | © Robert Bosch GmbH Alle Rechte vorbehalten, auch bzgl. jeder Verfügung, Verwertung, Reproduktion, Bearbeitung,
Forschungszentrum Karlsruhe Technik und Umwelt IRS /FzK W.M.Schikorr EUROTRANS DM1 Safety Bruxells, 17 March Transients to be Analysed for the LBE–cooled.
By Martin L. Loeffler.  The basic sentence has a subject and a verb.  The subject and verb need to be together.  The subject and verb need to agree.
Data Mining Spectral Clustering Junli Zhu SS 2005.
1 For internal use only © WEINMANN GERÄTE FÜR MEDIZIN GMBH+CO.KG prismaLINE - prismaAQUA DIE-FGI_ 28 Jan
By: Natosha Ramstad. Du commands Du commands-used informal/ causal one person Rules: 1. stem of verb2. get rid of subject3. ! At end 4. optional e 5.
Entwicklung und Test eines Prototyps für die Erweiterung eines pneumatischen Einzelmagazins zu einem Doppelmagazin Auftraggeber: (Essener System- und Automatisierungstechnik.
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
Wozu Maple? Symbolische Algebra Manche Sachen soll man besser nicht von Hand machen –kleine Rechnungs Fehler können mehrere Millionen werden – am besten.
Extended Pascal ( Erweitreung von Pascal) Name: Mehmet CELIK Matr :
1Ausgewählte Themen des analogen Schaltungsentwurfs Common source (CS) amplifier In Out R S G D GND VDD Tin.
Controller Werkstatt updaten Werkstatt ws = werkstattarray.get(werkstattId); ws.setName(name); ws.setAnsprechpartner(ansprechpartner); ws.setTelefonnummer(telefonnummer);
GRUNDLAGEN WISSENSCHAFTLICHEN ARBEITENS MODULA-2 SONAY SUBAYAZ
 Präsentation transkript:

Partielle Funktionsevaluierung - der Schlüssel zu den Spice3 Modellen - Professur für Baumaschinen- und Fördertechnik Leipzig,

HTWK Leipzig, partielle FunktionsevaluierungFolie 2 von 11 partielle Funktionsevaluierung -OpenModelica-Compiler pre-optimization module

HTWK Leipzig, partielle FunktionsevaluierungFolie 3 von 11 partielle Funktionsevaluierung assert | debug | division by zero at time 0, (a= ) / (b=0), where divisor b expression is: J1.cc.cGD SingleEquation: der(J1.vGD) = J1.icGD /J1.cc.cGD ComplexEquation: (5): J1.cc = Modelica.Electrical.Spice3.Internal.Jfet.jfetNoBypassCode( (300.15, 1.0, false, 0.0, 0.0, 0.0, 0.0, false, 1e-014, 1.0, 0.0, 0.0, 0.5, , , , 0.25, , 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0), (-2.0, , 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1e-014, 0.5, 1.0, 0.0, 1.0, 0.0, 0.0, , 0.0), 1, false, {U0.V, J1.Dinternal, J1.Sinternal}) Modelica.Electrical.Spice3.Examples.CascodeCircuit

HTWK Leipzig, partielle FunktionsevaluierungFolie 4 von 11 partielle Funktionsevaluierung warning | Failed to solve linear system of equations (no. 32) at time , system is singular for U[7, 7]. warning | Failed to solve linear system of equations (no. 68) at time , system is singular for U[6, 6]. Equationsystem Jacobian Time varying: 1/1 (1): 0.0 = (-mp.irs) - mp.icBS - mp.ibsgmin - mp.cc.iBS - mp.icGS - mp.cc.idrain 2/2 (1): mp.icGS = mp.cc.cGS * ($DER.mn.G.v - der(mn.Dinternal)) 3/3 (1): mn.icGD = mn.cc.cGD * ($DER.mn.G.v - der(mn.Dinternal)) 4/4 (1): 0.0 = mn.cc.idrain + mp.irs + (-mn.ibdgmin) - mn.icGD - mn.icBD - mn.cc.iBD 5/5 (1): mn.icBD = (-mn.cc.cBD) * der(mn.Dinternal) [dynamic] 6/6 (1): mp.icBS = mp.cc.cBS * ($DER.mp.B.v - der(mn.Dinternal)) 1/1 (9): mn.cc = Modelica.Electrical.Spice3.Internal.Mos.mosCalcNoBypassCode( (300.15, , , 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0, 0, 1, 0.0, 0.0, false), 1, (0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2e-005, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1, , 0.0, 0.0, 2e-005, 600.0, 0.6, 0.0, 0.0, 1e-014, 1e-014, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.8, 0.4, 0.0, , , , , 0.25, 0.0, 0.0, 0.0, , 0.0, 0.0, 0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.8, 0.5, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.5, 0.6, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 600.0, 0.0, 1e-014, 0.0, 1.0, 0.0, 1.0, 2e-005, 0.0, ), ( e-010, e-011, e-019, , e-023, , , , 1e-012, , , 0.0, 0.0, , , 1e-010, 1e-015, 1e-010, 0.001, , e-005), (0.0, 0.0, 0.6, 0.0, 2e-005), false, {mn.G.v, 0.0, mn.Dinternal, 0.0}) Modelica.Electrical.Spice3.Examples.Inverter

HTWK Leipzig, partielle FunktionsevaluierungFolie 5 von 11 partielle Funktionsevaluierung TODO: -konstante function-inputs inklusive teil-konstanter record-Ausdrücke einsetzen -Funktionsvariablen und outputs evaluieren -konstante function-outputs inklusive teil-konstanter record-Ausdrücke als neue Zuweisungen zum DAE-System hinzufügen -vollständig evaluierte function entfernen, teil-evaluierte function umschreiben und outputs anpassen

HTWK Leipzig, partielle FunktionsevaluierungFolie 6 von 11 partielle Funktionsevaluierung function func input Real in1; input Real in2; output Real out; protected Real x; algorithm x := in1+in2; out := 8 – in2; end func; func.in1  variable func.in2  10.0 x  variable out   2 b  2 b = func(a,10.0); b = 2.0;

HTWK Leipzig, partielle FunktionsevaluierungFolie 7 von 11 partielle Funktionsevaluierung function mosCalcNoBypassCode … if (Spice3.Internal.SpiceRoot.useInitialConditions()) and (in_m.m_dICVBSIsGiven > 0.5) then int_c.m_vbs := in_m_type * in_m.m_dICVBS; elseif ( Spice3.Internal.SpiceRoot.initJunctionVoltages()) then int_c.m_vbs := if (in_m.m_off >0.5) then 0. else int_c.m_VBScrit; end if; … function useInitialConditions "Initial condition handling" extends Modelica.Icons.Function; output Boolean ret; algorithm ret := false; end useInitialConditions; function initJunctionVoltages "Choice of junction voltage handling, obsolete, use initJunctionVoltageRe vised" extends Modelica.Icons.Function; extends Modelica.Icons.ObsoleteModel; output Boolean ret; algorithm ret := false; end initJunctionVoltages;  if-expression handling Modelica.Electrical.Spice3.Examples.Inverter

HTWK Leipzig, partielle FunktionsevaluierungFolie 8 von 11 partielle Funktionsevaluierung Modelica.Electrical.Spice3.Internal.Mos.mosCalcDEVqmeyer function mosCalcDEVqmeyer … if (vgst <= -in_c.m_tPhi) then out_qm.qm_capgb := in_c.m_capOx / 2.; out_qm.qm_capgs := 0.; out_qm.qm_capgd := 0.; elseif (vgst <= -in_c.m_tPhi / 2.) then out_qm.qm_capgb := -vgst * in_c.m_capOx / (2. * in_c.m_tPhi); out_qm.qm_capgs := 0.; out_qm.qm_capgd := 0.; elseif (vgst <= 0.) then out_qm.qm_capgb := -vgst * in_c.m_capOx / (2. * in_c.m_tPhi); out_qm.qm_capgs := vgst * in_c.m_capOx / (1.5 * in_c.m_tPhi) + in_c.m_capOx / 3.; out_qm.qm_capgd := 0.; else vds := vgs - vgd; if (in_c.m_vdsat <= vds) then out_qm.qm_capgs := in_c.m_capOx / 3.; out_qm.qm_capgd := 0.; out_qm.qm_capgb := 0.; else vddif := 2.0 * in_c.m_vdsat - vds; vddif1 := in_c.m_vdsat - vds; vddif2 := vddif * vddif; out_qm.qm_capgd := in_c.m_capOx * (1. - in_c.m_vdsat * in_c.m_vdsat / vddif2) / 3.; out_qm.qm_capgs := in_c.m_capOx * (1. - vddif1 * vddif1 / vddif2) / 3.; out_qm.qm_capgb := 0.; end if; … if-conditions NICHT evaluierbar, aber:  if-prediction  0.0 in_c.m_capOx  0.0 out_qm.qm_capgb := 0.0; out_qm.qm_capgs := 0.0; out_qm.qm_capgd := 0.0;

HTWK Leipzig, partielle FunktionsevaluierungFolie 9 von 11 partielle Funktionsevaluierung Modelica.Electrical.Spice3.Examples.Inverter (mn.cc.idrain, mn.cc.iBD, mn.cc.iBS) = Modelica.Electrical.Spice3.Internal.Mos.mosCalcNoBypassCode_eval15( (300.15, , , 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0, 0, 1, 0.0, 0.0, false), 1, (0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2e-005, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1, , 0.0, 0.0, 2e-005, 600.0, 0.6, 0.0, 0.0, 1e-014, 1e-014, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.8, 0.4, 0.0, , , , , 0.25, 0.0, 0.0, 0.0, , 0.0, 0.0, 0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.8, 0.5, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.5, 0.6, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 600.0, 0.0, 1e-014, 0.0, 1.0, 0.0, 1.0, 2e-005, 0.0, ), e-010, e-011, e-019, , e-023, , , , 1e-012, , , 0.0, 0.0, , , 1e-010, 1e-015, 1e- 010, 0.001, , e-005), (0.0, 0.0, 0.6, 0.0, 2e-005), false, {mn.G.v, 0.0, mn.Dinternal, 0.0}) mn.cc.cGS = 0.0 mn.cc.cGD = 0.0 mn.cc.cGB = 0.0 mn.cc.cBD = 0.0 mn.cc.cBS = 0.0 mn.cc.m_capgd = 0.0 mn.cc = Modelica.Electrical.Spice3.Internal.Mos.mosCalcNoBypassCode( (300.15, , , 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0, 0, 1, 0.0, 0.0, false), 1, (0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2e-005, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1, , 0.0, 0.0, 2e-005, 600.0, 0.6, 0.0, 0.0, 1e-014, 1e-014, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.8, 0.4, 0.0, , , , , 0.25, 0.0, 0.0, 0.0, , 0.0, 0.0, 0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.8, 0.5, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.5, 0.6, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 600.0, 0.0, 1e- 014, 0.0, 1.0, 0.0, 1.0, 2e-005, 0.0, ), ( e-010, e-011, e-019, , e-023, , , , 1e-012, , , 0.0, 0.0, , , 1e-010, 1e-015, 1e-010, 0.001, , e-005), (0.0, 0.0, 0.6, 0.0, 2e-005), false, {mn.G.v, 0.0, mn.Dinternal, 0.0})

HTWK Leipzig, partielle FunktionsevaluierungFolie 10 von 11 partielle Funktionsevaluierung Motivation?Parallelisierung von Modelica.Electrical.Spice3.Examples.Spice3BenchmarkFourBitBinaryAdder thread 1thread 4 thread 3thread 2 speedUp: 2.7 speedUp: 2.7 simulation time hohes paralleles Potenzial durch „schwach gekoppelte Subsysteme“

HTWK Leipzig, partielle FunktionsevaluierungFolie 11 von 11