Modelica: Konnektoren

Aus SystemPhysik
Wechseln zu: Navigation, Suche

Eine objektorientierte Modellierungsmethode, bei der einzelne Komponenten nach dem Lego-Prinzip zu grossen Modellen zusammengefügt werden können, benötigt vordefinierte Verbindungsstücke (Konnektoren), die festlegen, wie die einzelnen Komponenten miteinander wechselwirken. Mit dem Energieträgerkonzept des Karlsruher Physikkurses bietet die Sytstemphysik eine effiziente Methode an, um das Verhalten solcher Verbindungsstücke zu beschreiben. Eine ähnliche Idee liegt der Modellierungsmethode mit Bondgraphen zugrunde.

Energieträgermodell der Systemphysik

In der Systemphysik geht man von sieben mengenartigen Grössen und den zugehörigen Potentialen aus. Multipliziert man die Stärke des Mengenstromes mit dem jeweiligen Potential, erhält man den zugeordneten Energiestrom IW

[math]I_W=\varphi_{Menge}I_{Menge}[/math]

Die untenstehende Tabelle zeigt die sieben bilanzierfähigen Mengen der Physik

Menge Zeichen Einheit Potenzial Zeichen Einheit Bemerkung
Volumen V m3 Druck p Pa keine Erhaltungsgrösse
Masse m kg Gravitationspotential φG J/kg schwere Masse
Stoffmenge n mol chemisches Potential μ J/mol keine Erhaltungsgrösse, viele Komponenten
elektrische Ladung Q Coulomb C elektrisches Potential φ Volt V auch negative Werte möglich
Impuls px 1 Ns = 1 kgm/s Geschwindigkeit vx m/s drei "Sorten"
Drehimpuls Lx 1 Nms = 1 kgm2/s Winkelgeschwindigkeit ωx rad/s drei "Sorten"
Entropie S J/K Temperatur T Kelvin (K) nur Produktion

Die ersten beiden Grössen können nur konvektiv, also mittels Bewegung transportiert werden. Stoffmenge, Impuls und Entropie lassen sich sowohl leitungsartig als auch konvektiv transportieren. Die elektrische Ladung strömt meist nur leitungsartig durch das Material hindurch und der Drehimpuls nimmt insofern eine Sonderstellung ein, als dessen Transport nicht lokalisiert werden kann. Diese Unterschiede wirkt sich auf die Definition der Konnektorgrössen aus.

konvektive Transporte

Volumen, Masse und meist auch Stoffmenge werden konvektiv, also mittels Bewegung transportiert. An einem konvektiven Transport sind ein ganzes Bündel von Mengen beteiligt. Strömt zum Beispiel Wasser durch ein Rohr, wird Masse, Eigenvolumen der Flüssigkeit, Impuls, Stoffmenge und Energie mittransportiert. Meist beachtet man die Stoffmenge nicht und bezieht den Impulstransport nur dann mit ein, wenn er für die entsprechende Modellbildung von Bedeutung ist.

Wenden wir uns nun dem Energietransport zu. Energie kann als hydraulisch zugeordneter Energiestrom (Druck mal Volumenstromstärke), als gravitativ zugeordneter Energiestrom (Gravitationspotential mal Massenstromstärke), als kinetischer Energiestrom (Energiedichte mal Volumenstromstärke) und als Strom von innerer Energie (spezifische innere Energie mal Massenstromstärke) transportiert werden

[math]I_W=pI_V+\varphi_G I_m+\varrho_{W_{kin}}I_V+w I_m=\left(p+\varrho g z+\frac{\varrho}{2}v^2+w\varrho\right)I_V=\left(\frac{p}{\varrho}+ gz+\frac{v^2}{2}+w\right)I_m[/math]

w steht hier für die spezifische innere Energie, also die innere Energie pro Masse. Solange man nur inkompressible Fluide modellieren will, kann man das Eigenvolumen als Bilanzmenge nehmen. Im allgemeinen Fall zieht man primär die Bilanzgrösse Masse bei. Nun kann man den ersten und den letzten Term in der Klammer zur spezifischen Enthalpie h zusammenfassen.

[math]I_W=\left(h+gz+\frac{v^2}{2}\right)I_m[/math]

Wie man daraus die Fluss- und Potentialgrössen für die Konnektoren bildet, ist mit einer gewissen Willkür behaftet.

Video: Energietransport

feldartiger Transporte

Entropie, Impuls und Drehimpuls können zwischen Körper und elektromagnetischem oder gravitativem Feld ausgetauscht werden. Statt von Stromstärke spricht man dann von Quellenstärke. Oft ist eine Unterscheidung zwischen Strom- und Quellenstärke nicht relevant und kann weggelassen werden. Eine wichtige Ausnahem ist die Gravitationskraft, die Quellenstärke des Impulses bezüglich des Gravitationsfeldes. Solange man sich auf der Erdoberfläche befindet, darf in guter Näherung eine fixe Feldstärke (g = 9,81 N/kg) verwendet werden. Um Modelle zu entwickeln, die in verschieden starken Gravitationsfeldern funktionieren, stehen die Schlüsselwörter outer und inner zur Verfügung. Wird das Schlüsselwort outer vor einer Funktion oder einer Variablen platziert, bezieht sich der nachfolgende Ausdruck nicht auf etwas, was innerhalb dieses Modells definiert oder deklariert ist, sondern irgendwo in der übergeordneten Struktur.

Konnektoren der Standard-Bibliothek

Die folgenden Konnektoren werden in der Standard-Biblothek verwendet

domain potential variables flow variables stream variables
electrical analog electrical potential electrical current
electrical multi-phase vector of electrical pins
electrical space phasor 2 electrical potentials 2 electrical currents
stationaray single phase complex electrical potential complex electrical current
quasi stationary multi-phase vector of quasi stationary single phase pins
electrical digital Integer (1..9)
magnetic flux tubes magnetic potential magnetic flux
magnetic fundamental wave complex magnetic potential complex magnetic flux
translational distance cut-force
rotational angle cut-torque
3-dim. mechanics position vector orientation object cut-force vector cut-torque vector
simple fluid flow pressure, specific enthalpy mass flow rate, enthalpy flow rate
thermo fluid flow pressure mass flow rate specific enthalpy, mass fractions
heat transfer temperature heat flow rate
blocks Real variable, Integer variable, Boolean variable
complex blocks Complex variable
state machine Boolean variables (occupied, set,available, reset)
hydraulic pressure volume flow rate
pneumatic pressure mass flow rate

Üblicherweise werden pro Domain zwei Konnektoren definiert, die identisch sind, aber unterschiedlich bezeichnet werden. Die beiden Konnektoren dienen der Orientierung der Stromrichtung der beteiligten Mengen. Die Definition der Potentiale und Grundmengen in der Standardbibliothek entspricht nicht überall der Philosophie der Systemphysik. Abweichungen ergeben sich unter anderem in der Translationsmechanik (Ort statt Geschwindigkeit), der Rotationsmechanik (Winkel statt Winkelgeschwindigkeit) und der Thermodynamik (Energie statt Entropie).

Konnektoren der Systemphysik-Bibliothek

Die Konnektoren der Systemphysik-Bibliothek sind so gewählt,dass das Produkt aus Potential und Mengenstromstärke einen zugeordneten Energiestrom ergibt. Einzig Ausnahme ist die Pneumatik, weil hier konvektive Transporte beschrieben werden.

Domain Potential Stromgrösse stream-Variable
Hydrodynamik Druck Volumenstromstärke
Elektrodynamik elektrisches Potential Stärke des elektrischen Stromes
Translationsmechanik Geschwindigkeit Kraft
Rotationsmechanik Winkelgeschwindigkeit Drehmoment
Thermodynamik absolute Temperatur Entropiestromstärke
Chemie chemisches Potential Stoffmenge
Pneumatik Druck Massenstromstärke spezifische Enthalpie?

Beispiele

Das erste Beispiel, ein Konnektor der Bibliothek electrical analog, zeigt beispielhaft die Definition eines einfachen Konnektors:

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;

Der Konnektor der Bibliothek fluid enthält eine Potentialvariable (Druck), eine Stromstärke (Massenstromstärke) und drei konvektive Stromvariablen (stream):

connector FluidPort

"Interface for quasi one-dimensional fluid flow in a piping network (incompressible or compressible, one or more phases, one or more substances)"
replaceable package Medium = Modelica.Media.Interfaces.PartialMedium "Medium model" annotation (choicesAllMatching=true);
flow Medium.MassFlowRate m_flow "Mass flow rate from the connection point into the component";
Medium.AbsolutePressure p "Thermodynamic pressure in the connection point";
stream Medium.SpecificEnthalpy h_outflow "Specific thermodynamic enthalpy close to the connection point if m_flow < 0";
stream Medium.MassFraction Xi_outflow[Medium.nXi] "Independent mixture mass fractions m_i/m close to the connection point if m_flow < 0";
stream Medium.ExtraProperty C_outflow[Medium.nC] "Properties c_i/m close to the connection point if m_flow < 0";

end FluidPort;

Der Konnektor der Bibliothek fluid heat flow enthält zwei Paare von Potential- und Stromstärke, wobei das zweite Paar, bestehend aus spezifischer Enthalpie als Potentialvariable und Enthapiestromstärke als Stromvariable etwas konstruiert ist:

connector FlowPort "Connector flow port"

parameter FluidHeatFlow.Media.Medium medium "Medium in the connector";
Modelica.SIunits.Pressure p;
flow Modelica.SIunits.MassFlowRate m_flow;
Modelica.SIunits.SpecificEnthalpy h;
flow Modelica.SIunits.EnthalpyFlowRate H_flow;

end FlowPort;

Die Konnektoreen der Bibliothek Systemphysik orientieren sich am Energieträgerkonzept des Karlsruher Physikkurses. Die beiden unten aufgeführten Beispiele gehören zur Teilbibliothek Translation und Thermodynamik:

connector TransFl_pos "Flansch fuer die Translation"

SI.Velocity v "Geschwindigkeit des Flansch";
flow SI.Force F "Impulsstromstaerke durch den Flansch";

end TransFl_pos;

connector ThermKont_pos "Thermischer Anschluss"

SI.Temperature T "thermodynamische Temperatur";
flow SI.ThermalConductance IS "Entropiestromstaerke";

end ThermKont_pos;

Stromglieder

Etwas vereinfacht gesagt, kann eine mengenartige Grösse gespeichert oder transportiert werden. Folglich braucht es Bauteile, die als Speicher wirken, und andere, die als Leiter den Transport der Mengen modellieren. Speicherelemente berechnen aus der resultierenden Stromstärke die Inhaltsänderungsrate, integrieren über die Zeit und berechnen daraus die entsprechende Potentialgrösse. Leiterelement können als Widerstand oder als Induktivität wirken.

Reine Leiter besitzen zwei Konnektoren, wobei der eine oft mit positiv und der andere mit negativ bezeichnet wird. Bei Erhaltungsgrössen werden die Stromstärken der beiden Konnektoren entgegen gestetzt gleich gesetzt (Summe der beiden Stromstärken gleich null). Bei Nichterhaltungsgrössen muss die Produktionsrate mit einbezogen werden.

In der Systemphysik-Bibliothek ist die Grundmenge in fünf der sieben Teilbibliotheken erhalten. Die Entropie kann nur produziert (irreversibler Prozess) und die Stoffmenge infolge chemischer Reaktionen entweder produziert (Produkte) oder vernichtet (Edukte) werden. Den Unterschied zwischen den beiden Modellstukturen lässt sich sehr schön am Beispiel der Thermodynamik zeigen. Im Teilmodell Entropiestromglied bleibt die Entropie erhalten und die Energie wird wie bei den andern Erhaltungsgrössen als Prozessleistung umgesetzt

partial model ThermEntrStrom "Element mit den Anschluessen th_p und th_n, Entropiestrom von th_p nach th_n"

SI.Temperature dT "Temperaturdifferenz ueber dem Element";
SI.ThermalConductance IS "Entropiestromstaerke durch Element";
SI.Power P "Prozessleistung ueber Element";
Systemphysik.Konnektoren.ThermKont_pos th_p;
Systemphysik.Konnektoren.ThermKont_neg th_n;

equation

dT = th_p.T - th_n.T "Temperaturdifferenz über dem Stromglied";
0 = th_p.IS + th_n.IS "Energieerhaltung bei reversibler Prozessfuehrung";
IS = th_p.IS "Staerke des Entropiestromes durch das Stromglied";
P = dT*IS "Prozessleistung";

end ThermEntrStrom;

Im Teilmodell Energiestromglied bleibt die Energie erhalten und es wird maximal Entropie produziert

partial model ThermEnerStrom "Element mit den Anschluessen th_p und th_n, Energieerhaltung"

SI.Temperature dT "Temperaturdifferenz ueber dem Element";
SI.HeatFlowRate IW "Energiestromstaerke durch Element";
SI.ThermalConductance PiS "Entropieproduktionsrate";

equation

dT = th_p.T - th_n.T "Temperaturdifferenz über dem Stromglied";
0 = th_p.T*th_p.IS + th_n.T*th_n.IS "Energieerhaltung";
IW = th_p.T*th_p.IS "Staerke des Energiestromes durch das Stromglied";
PiS = th_p.IS+th_n.IS "Entropieproduktionsrate";

end ThermEnerStrom;

In beiden Konnektoren berechnet sich die Energiestromstärke aus dem Produkt von absoluter Temperatur (Potentialvariable) und Entropiestromstärke (Stromvariable). Die Entropieproduktionsrate ist dann gleich der Summe der beiden Entropiestromstärken. Teilmodel werden in den einzelnen Modellen aufgerufen extends und bilden so einen Teil des Gesamtcodes.

Video: Zweimassenschwinger mit Modelica

Zusammenfassung

Kontrollfragen

Antworten zu den Kontrollfragen

zurück zum Inhalt