Modelica: Einführung: Unterschied zwischen den Versionen
Admin (Diskussion | Beiträge) |
Admin (Diskussion | Beiträge) |
||
Zeile 23: | Zeile 23: | ||
Der turbulente [[Strömungswiderstand]] ''k<sub>V</sub>'' hängt von der Dichte der Flüssigkeit und stark vom Querschnitt des Rohres ab. Weitere Einflussfaktoren verpackt man in die Dimensionslose [[Verlustziffer]]. |
Der turbulente [[Strömungswiderstand]] ''k<sub>V</sub>'' hängt von der Dichte der Flüssigkeit und stark vom Querschnitt des Rohres ab. Weitere Einflussfaktoren verpackt man in die Dimensionslose [[Verlustziffer]]. |
||
Fügt man all diese Gleichunge zusammen, entsteht eine Differentialgleichung erster Ordnung. Wie weit und ob diese Gleichung geschlossen lösbar ist, muss den Praktiker nicht weiter kümmern, da er in die das System beschreibenden Funktionen (Druck-Zeit-Verhalten, Füllstand-Zeit-Verhalten) numerisch integriert. Zudem muss er nur die einzelnen Gesetze (Bilanz, kapazitives und resistives Gesetz) korrekt formuieren und nicht die fertige Differentialgleichung. Verwendet er eine graphische Oberfläche wie bei der Signalfluss- oder der systemdynamischen Modellierung, wird man bei den einzelnen Schritten (Bilanz bilden, resistives oder kapazitives Gesetz formulieren) durch die graphische Benutzeroberfläche unterstützt. |
|||
Fügt man all diese Gleichunge zusammen, entsteht eine Differentialgleichung erster Ordnung. |
|||
Ein Problem bleibt aber bestehen. Eigentlich hat man z.B. in einem hydraulischen Netzwerk nur wenige Bausteine (verschiedene Speicher, Rohrleitungen mit Widerständen, Ventile und Pumpen), die aber bei jeder Anwengung neu zusammengesetzt und konfiguriert werden müssen. Und da erleichtert die Objektorientiertheit das Modellieren ungemein. Die einzelnen Elemente (Speicher mit konstanter Kapazität, [[Blasenspeicher]], verschiedene Ventile, parametrisierbare Rohrabschnitte und Pumpen) werden genau einmal modelliert und dann in Bibliotheken abgelegt. Der Anwender kann dann diese Elemente so oft wie nötig der Bibliothek entnehmen, zusammenfügen, neu parametrisieren und dann unter verschiedenen Bedingungen simulieren. |
|||
'''Video:''' |
|||
==akausales Modellieren== |
|||
Signalfluss, Kausalpfeil |
|||
==gleichungsbasiertes Modellieren== |
Version vom 1. April 2015, 08:50 Uhr
Einführendes Beispiel
Zwei zylinderförmige Gefässe sind über einen in bodennähe angebrachten Schlauch miteinander verbunden (kommunizierende Gefässe). Anfänglich ist das eine Gefäss voll und das andere leer. Nach dem Öffnen des Hahns fliesst so lange Wasser von einem Gefäss zum andern, bis beide Gefässe gleich hoch gefüllt sind. Handelt es sich um eine relativ zähe Flüssigkeit oder weist der Schlauch einen ziemlich kleinen Durchmesser auf, kann das Zeitverhalten dieses Systems mittels einer Exponentialfunktion beschrieben werden, wobei die Zeitkonstante aus dem Querschnitt der beiden Gefässe, Dichte und Viskosität der Flüssigkeit sowie Länge und Durchmesser des Schlauchs berechnet werden kann. Ist die Strömung turbulent oder sind die Gefässe nicht zylinderfömig, kann in der Regel keine Inhalts-Zeit- oder Druck-Zeit-Funktion mehr angegeben werden. Das ist aber heute kein Problem mehr, weil man die zugehörigen Gleichungen numerisch, also mit Hilfe eines Computers integriert. Im Fach Physik und Systemwissenschaft in Aviatik 2014 modellieren die Studierenden ähnliche Systeme schon in den ersten Wochen des ersten Semesters. Sie verwenden dazu Berkeley Madonna, ein systemdynamisches Tool, das man schon nach kurzer Zeit effizient einsetzen kann.
Video: Zwei PET-Flaschen]
Widerverwendbarkeit
Betrachten wir eine mit Wasser und Pressluft gefüllte PET-Flasche, die über einen dünnen Schlauch mit einer zweiten, leeren Flasche verbunden ist. Sobald wir die Verbingung mit dem Öffnen eines Hahns frei geben, wird der Druck zwischen den beiden Flaschen ausgeglichen. Zur Modellierung solcher Prozesse geht man von der Bilanz einer mengenartigen Grösse aus. Formulieren wir also die Volumenbilanz bezüglich der beiden Flasche
- [math]-I_V=\dot V_1[/math] und [math]I_V=\dot V_2[/math]
Der Bezugspfeil für den positiven Volumenstrom zeigt von der ersten zur zweiten Flasche. Der Druck in den Flasche ergibt sich aus dem Gasgesetz. In guter Näherung können wir die Gesetzmässigkeit von Boyle-Mariotte (isotherme Expansion) voraussetzen. Damit gilt für das Speicherverhalten
- [math]p=p_0\frac{V_0}{V_0-V}[/math]
wobei der Index 0 den Zustand der leeren Flasche beschreibt. Dieses Gesetz gilt für beide Flaschen, wobei die Summe der beiden Wasservolumen konstant bleibt. Also ist
- [math]\dot V_1+\dot V_2=0[/math]
Der Volumenstrom wird durch die Druckdifferenz getrieben. Zudem ist die Strömung meist turbulent
- [math]\left(p_1-p_2\right)=k_VI_V^2[/math]
Der turbulente Strömungswiderstand kV hängt von der Dichte der Flüssigkeit und stark vom Querschnitt des Rohres ab. Weitere Einflussfaktoren verpackt man in die Dimensionslose Verlustziffer.
Fügt man all diese Gleichunge zusammen, entsteht eine Differentialgleichung erster Ordnung. Wie weit und ob diese Gleichung geschlossen lösbar ist, muss den Praktiker nicht weiter kümmern, da er in die das System beschreibenden Funktionen (Druck-Zeit-Verhalten, Füllstand-Zeit-Verhalten) numerisch integriert. Zudem muss er nur die einzelnen Gesetze (Bilanz, kapazitives und resistives Gesetz) korrekt formuieren und nicht die fertige Differentialgleichung. Verwendet er eine graphische Oberfläche wie bei der Signalfluss- oder der systemdynamischen Modellierung, wird man bei den einzelnen Schritten (Bilanz bilden, resistives oder kapazitives Gesetz formulieren) durch die graphische Benutzeroberfläche unterstützt.
Ein Problem bleibt aber bestehen. Eigentlich hat man z.B. in einem hydraulischen Netzwerk nur wenige Bausteine (verschiedene Speicher, Rohrleitungen mit Widerständen, Ventile und Pumpen), die aber bei jeder Anwengung neu zusammengesetzt und konfiguriert werden müssen. Und da erleichtert die Objektorientiertheit das Modellieren ungemein. Die einzelnen Elemente (Speicher mit konstanter Kapazität, Blasenspeicher, verschiedene Ventile, parametrisierbare Rohrabschnitte und Pumpen) werden genau einmal modelliert und dann in Bibliotheken abgelegt. Der Anwender kann dann diese Elemente so oft wie nötig der Bibliothek entnehmen, zusammenfügen, neu parametrisieren und dann unter verschiedenen Bedingungen simulieren.
Video:
akausales Modellieren
Signalfluss, Kausalpfeil