Verfasst am: 08.10.2015, 14:47
Titel: Simulation der Wasserhöhe in einem Tank mit Zu- und Abfluss
Hallo,
ich möchte den Wasserstand in einem Tank simulieren, der einen konstanten
Zufluss (durch Punmpe) und ein Ausflussrohr besitzt. Da der ausfließende
Wasservolumenstrom von der Spiegelhöhe anhängt, muss es ein Gleichgewicht
zwischen Zu- und Ablauf geben, bei dem letztendlich der Wasserspiegel konstant
bleibt.
Verifizieren will ich das ganze mit Messwerte, die mit dem Plot dann
übereinstimmen sollten, was aber nicht der Fall ist. Deswegen möchte ich fragen,
ob ich die DGL evtl. falsch implementiert habe.
Ich möchte über der Zeit simulieren und habe folgende DGL aufgestellt:
mir fällt so erstmal nicht viel auf. sicher das deine ausgangswerte richtig sind? 1.5mm ausgangsdurchmesser ist recht wenig. sicher das das nicht in cm ist oder so?
woher kommt die 2 vor Aout? ich hätte da ehr mit 0.6 gerechnet oder so.
warum plottest du die höhe in cm und schreibst dann meter ran?
_________________
vielen Dank für deinen Einwand. Ich hab mich geirrt, es sind 15,3mm. Der Faktor 2
vor der der Fläche Aout kommt daher, weil ich zwei Ausflussrohre selben Durch-
messers habe. Einen Korrekturfaktor hatte ich erstmal noch garnicht berücktsichtigt.
Ja, das mit der Achsenbeschriftung hatte ich nach dem Abschicken bemerkt und ge-
ändert.
Es sieht auf jeden Fall schon mal besser aus, aber immer noch nicht perfekt. Aber
ich kann erstmal die Fehlerquelle 'falsche ode45-Implementierung' ausschließen.
Das ist schonmal viel Wert. Dankeschön!
Als Korrekturfakor ist 0,6 okay?
hab ich auch nur aus wiki übernommen.
https://de.wikipedia.org/wiki/Ausflussgeschwindigkeit der hängt denke ich von einigen faktoren ab. bei 0.1 kommst du zb ehr auf deine werte kann man vielleicht mal genauer untersuchen was jetzt für deinen fall zutrifft. kann aber auch sein das etwas falsch is das wir beide hier übersehen _________________
ergänzt. Mit den anderen kleineren Korrekturen sieht die Simulation jetzt erstmal
ganz gut aus. ABER: mein simuliertes System ist zu schnell, verglichen mit den Mess-
werten. Ich habe mal probiert die Grundfläche des Tanks zu vergrößern. Von 580cm^2
auf 2500 cm^2 (ca das Vierfache).
Gibt es einen Aspekt, den ich möglicherweise vergessen habe?
also danke für deine Hilfe. Ich denke, dass das Problem nicht Matlab-basierend ist.
Ich habe aber leider auch keine Ahnung, wo ich noch suchen soll. Trotzdem vielen
Dank für die Hilfe.
ich habe doch noch eine Idee, woran es liegen könnte. Die Rohrreibungszahl 'Lambda'
ist nicht konstant. Sie muss iterativ berechnet werden, da sie von der aktuellen Höhe
im Wassertank abhängt. Ich werde hier die folgen Schritte posten und hoffe, ihr könnt
mir bei der Implementierung helfen. Ich weiß nämlich nicht, wo genau die Iteration
hinkommt. In die externe Funktion oder ins Hauptskript?
Code:
Iteration:
nue = 1.139 * 10^-6; % kinematische Viskosität Wasser bei 15°C
lambdaStart = 0.02;
lambdaNeu = 0;
d = 0.0153; % Rohrdurchmesser [m]
l = 0.558; % Rohrlänge [m]
g = 9.81; % Gravitationskonstante [m/s²]
zeta = 1; % Einlaufverlust in Rohr [1]
Ich denke, ein großes Problem ist, dass ich die DGL mit ode45 löse und daher
keine feste Schrittweite habe. Die bräuchte ich aber um mir zu einem bestimmten
Zeitschritt iterativ erst 'Lambda' und dann die Wasserhöhe zu berechnen.
Und es ist auch möglich, sich bei ode45 statt nur Anfangs- und Endwert einen
Vektor mit fester Schrittweite vorzugeben (z.Bsp: 0.02s).
Jetzt brauche ich aber eine verschachtelte Schleife, die mir zu jedem Zeitschritt
eine Iteration zur Berechnung von 'Lambda' und h(t,lambda) ausführt.
Kann mir da echt keiner helfen?
Grüße
Einstellungen und Berechtigungen
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.