WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Simulationsschleife "verspätet" berechnen

 

caelum
Forum-Anfänger

Forum-Anfänger


Beiträge: 19
Anmeldedatum: 19.02.10
Wohnort: ---
Version: 2011b
     Beitrag Verfasst am: 27.10.2011, 16:20     Titel: Simulationsschleife "verspätet" berechnen
  Antworten mit Zitat      
Hallo Simulink Forum,
zur Zeit bearbeiten wir studientechnisch die Simulation einer Wasserrakete. Unterteilt wurde der komplette Flug in 3 Phasen.

1) Start mit Treibstoff Wasser
2) Beschleunigung mit Rest Luft in der Flasche
3) Schiefer Wurf mit Newton Reibung

In Phase 2 stehen wir vor einem für uns nicht lösbaren Problem und sind auf euch angewiesen =) Das ausströmende Gas wird hier nach Saint Venant und Wantzel (Strömung kompressibles Gas) berechnet. Die Simulation is hier gezwungener maßen in 2 Phasen eingeteilt. Einmal überkritisch und einmal unterkritisch.

Die Zeit t2 zur Bestimmung der Dauer der überkritischen Phase lässt sich recht einfach errechnen und so erhofften wir uns mit einem zeitgesteuerten switch nach t2 einfach umschalten zu können.

Problem ist nun, dass beide Simulationen zeitgleich ablaufen und nach Ablauf der überkritischen Zeit kein Druck mehr im unterkritischen vorhanden ist. Wir wollten diesen Bereich nun mit hilfe von unit delays und anderen verzögerungen bis t2 "warten" lassen. Dies hat aber alles nicht funktioniert.

Weiß einer von euch hier Rat?

Parameter.m
 Beschreibung:

Download
 Dateiname:  Parameter.m
 Dateigröße:  2.68 KB
 Heruntergeladen:  487 mal
Phase2_Treibstoff_Luft.mdl
 Beschreibung:

Download
 Dateiname:  Phase2_Treibstoff_Luft.mdl
 Dateigröße:  51.35 KB
 Heruntergeladen:  478 mal
Private Nachricht senden Benutzer-Profile anzeigen


Phate
Forum-Guru

Forum-Guru



Beiträge: 283
Anmeldedatum: 09.11.09
Wohnort: Stuttgart
Version: R2008b
     Beitrag Verfasst am: 28.10.2011, 07:39     Titel:
  Antworten mit Zitat      
Hi,

Hab mir jetzt nicht eure Modelle angeschaut aber habt ihr schonmal im Library Browser unter "Ports & Subsysteme" die "Triggert Subsystemes" angeschaut?

Deine Problembeschreibung klingt so als könnte sie damit geöst werden. Wenn du deine zwei Berechnungsphasen in je ein triggert Subsystem packst und das dann mit dem Zeitereignis antriggerst müsste es mMn klappen. Das Subsystem wird nur dann ausgeführt wenn das Triggersignal kommt.

Grüße
Private Nachricht senden Benutzer-Profile anzeigen
 
caelum
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 19
Anmeldedatum: 19.02.10
Wohnort: ---
Version: 2011b
     Beitrag Verfasst am: 28.10.2011, 14:19     Titel:
  Antworten mit Zitat      
Hallo und ersmal danke für die Idee. Problem is ersmal dass sich Dichte, Druck und Massenstrom über Differentialgleichungen ausdrücken deren Integratoren sich aber nicht im Triggered Subsystem befinden dürfen. Haben das ganze nun nach bestem Wissen "umgestaltet" so dass nun die Funktionen im Triggered Subsystem sind und dieses an die Integratoren "außerhalb" anschließt.

Simulink lässt die Simulation nur dann zu wenn "latch input by delaying outside signal" aktiv ist. Momentan läuft die simulation und er stellt 2 Phasen dar doch die Ergebnisse der 2. Phase sind nun völlig falsch.

Phase2_Treibstoff_Luft_triggered.mdl
 Beschreibung:

Download
 Dateiname:  Phase2_Treibstoff_Luft_triggered.mdl
 Dateigröße:  56.5 KB
 Heruntergeladen:  456 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
caelum
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 19
Anmeldedatum: 19.02.10
Wohnort: ---
Version: 2011b
     Beitrag Verfasst am: 30.10.2011, 20:35     Titel:
  Antworten mit Zitat      
Wäre es auch möglich die 2 Phasen zu trennen und das ganze dann über ein m-file ablaufen zu lassen?

stelle mir das grob so vor die simulationszeit sowie x und y koordinaten auszugeben und dann sowas nach dem motto:

Code:
if t(simulationszeit) <= t2(zeit überkritisches ausfliesen)
sim('überkritisch')
plot(x,y)

else
sim('unterkritisch')
plot(x,y)

end


Mir stellt sich dann nur noch das Problem wie ich matlab beibring die Koordinaten mit den letzten x,y der überkritischen simulationen weiterzurechnen.
Private Nachricht senden Benutzer-Profile anzeigen
 
caelum
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 19
Anmeldedatum: 19.02.10
Wohnort: ---
Version: 2011b
     Beitrag Verfasst am: 03.11.2011, 12:15     Titel:
  Antworten mit Zitat      
Hab das nun soweit gelöst indem ich die Integratoren mit nem externen reset versehen habe der über ne logische abfrage der zeit abläuft.
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

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.