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

schnelleinstieg in pdepe & system aus zwei gekoppelten P

 

linch
Forum-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 26.03.10
Wohnort: Darmstadt
Version: Beta
     Beitrag Verfasst am: 11.07.2012, 14:34     Titel: schnelleinstieg in pdepe & system aus zwei gekoppelten P
  Antworten mit Zitat      
Hallo,

ich habe zwei unabhängige variablen u(x,t) und w(x,t) und ein Gleichungssystem:

u_t + \left( a u_x(0,t) + b w_x(0,t) \right) u_x + c u_{xx} = 0
w_t + \left( k u_x(0,t) + l w_x(0,t) \right) w_x + m w_{xx} = 0

mit Initialbedingungen
u(x,0)=u_0
w(x,0)=w_0

und Randbedingungen
 u(0,t)=u_r ; u(\infty,t)=u_0
w(0,t)=w_r ; u(\infty,t)=w_0

Alle Parameter a,b,c,k,l,m sind konstant und bekannt.

Ich habe wenig Matlab-Erfahrung und daher die zwei Fragen:

1) soweit ich verstanden habe, brauch ich den pdepe-Solver. Kennt jemand einen leicht verständlichen Einstiegstutorial in pdepe?

2) Ist das System schwer zu lösen? Sorgen machen mir die Terme a u_x(0,t) + b w_x(0,t)

Edit: Kleine Ergänzung. Das mit dem halb unendlichen Rechengebiet (x=0;x=infinity) ist nicht so wichtig, ich könnte statt unendlich einen festen Wert von x verwenden.

Grüße!
Private Nachricht senden Benutzer-Profile anzeigen


Thomas84
Forum-Meister

Forum-Meister


Beiträge: 546
Anmeldedatum: 10.02.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.07.2012, 07:16     Titel:
  Antworten mit Zitat      
ich glaube das könnte schwierig werden. Bei der Berechnung des Quell- und des Flußterms (f und s in pdepe-doku) stehen nur die Werte an u(x) und u_x(x) zur Verfügung und nicht u_x(0).

Wie bist du denn auf diese Gleichungen gekommen?
Private Nachricht senden Benutzer-Profile anzeigen
 
linch
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 26.03.10
Wohnort: Darmstadt
Version: Beta
     Beitrag Verfasst am: 12.07.2012, 09:14     Titel:
  Antworten mit Zitat      
Das sind Gleichungen für Diffusion&Konvektion in 2 Phasen mit Phasenübergang. Das Koordinatensystem habe ich an die Phasengrenze gelegt (mitbeweglich), daher die Quellterme bei x=0
Private Nachricht senden Benutzer-Profile anzeigen
 
linch
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 26.03.10
Wohnort: Darmstadt
Version: Beta
     Beitrag Verfasst am: 12.07.2012, 12:45     Titel:
  Antworten mit Zitat      
Könnte ich das iterativ machen? Zuerst u_x(0,t) und w_x(0,t) schätzen, dann damit die PDES lösen (somit wären die beiden Gleichungen erstmal gar nicht gekoppelt), dann aus der Lösung u(x,t) udn w(x,t) die Ableitungen an der Stelle 0 irgendwie extrahieren ( u(x,t) -> u_x(x,t) -> u_x(0,t) wie geht denn das? ) und dann die als konstante wieder einsetzen und hoffen, dass das ganze konvergiert.

Das Problem dabei, ich müsste das für jeden Matlab-Zeitschritt tun. Ich kann also nicht die PDEs für den kompletten mich interessierenden Zeitbereich t=[0;t_end] lösen, da u_x(0,t) in jedem Zeitschritt anders ist.

Hast du einen Tipp, wie man das machen könnte?

Btw., hat vielleicht jemand eine andere Idee, wie ich mein Gleichungssystem lösen kann?

Vielleicht kennt sich jemand allgemein mit DGLs gut aus. Ich habe schon mal gesehen, wie man eine einzelne PDE dieser Form in Matlab gelöst hat.
 u_t + a u_x (0,t) u_x - b u_{xx} = 0
Und da war der Trick, dass man eine neue Variable
 \eta = \sqrt{\frac{1}{2b}} \frac{x}{\sqrt {t}}
und mit
 \phi ( \eta ) = \frac{a}{b} u(x,t)
die PDE in die ODE transformierte:
 \phi^{\prime \prime} + (\eta +\phi^\prime(0)) \phi^\prime = 0
und diese ODE entsprechend löste. Ich den Transformationsschritt verstehe ich nicht ganz (wann darf man so was machen). Daher weiß ich auch nicht, ob ich bei meinem System aus 2 PDEs ähnlich vorgehen kann.
Private Nachricht senden Benutzer-Profile anzeigen
 
Thomas84
Forum-Meister

Forum-Meister


Beiträge: 546
Anmeldedatum: 10.02.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.07.2012, 13:36     Titel:
  Antworten mit Zitat      
Ich versteh die Differentialgleichungen noch nicht richtig. Normalerweise integriert man doch eine Quelle am Rand des Systems in den Randbedingungen. z.B.

<br />
u_x(0) = q  u_x(\infty) = 0
<br />


In deinem Fall ist der Quellterm ja abhängig von u_x(x) und u_x(0). Das heißt die Lösung für u(0) hat direkten Einfluss auf u(x). Das ist doch irgendwie unphysikalisch.
Private Nachricht senden Benutzer-Profile anzeigen
 
linch
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 26.03.10
Wohnort: Darmstadt
Version: Beta
     Beitrag Verfasst am: 12.07.2012, 14:06     Titel:
  Antworten mit Zitat      
Tut mir Leid, du hast recht. Das mit u_x(0,t) ist kein Quell- sondern ein Flussterm.

Eigentlich habe ich folgende zwei PDGLs:
 u_t - D_1 u_{xx} = 0
 w_t + v w_x -  D_2 w_{xx} = 0

Die RB sind (Index r steht für "Rand")
 u(-\infty,t)=u_0
 u(x_r,t) = u_r
 w(x_r,t) = w_r
 w(\infty,t)=w_0

Du kannst dir ein unendliches Rechengebiet vorstellen, bei dem die erste DGL den Transport eines Stoffes von - unedlich bis Rand beschreibt, und die zweite vom Rand bis + unedlich. Am Rand r ist der Verlauf der Lösung unstetig, auch die Geschwindigkeit ist unstetig und erfährt am Rand einen Sprung von 0 auf v. Aufgrund der unstetigkeit wird das Problem durch zwei DGLs an Stelle von einer beschrieben.

Der Rand ist aber nicht fest, sondern bewegt sich mit der Geschwindigkeit, die proportional zu u_x(x_r,t) und w_x(x_r,t), also proportional zu den Ableitungen am Rand ist:
 v_r(t) = a u_x(x_r,t) + b w_x(x_r,t)

Bewegter Rand ist schwer zu handhaben (oder irre ich mich?), deswegen mache ich eine Koordinatentransformation und fixiere den KS-Nullpunkt auf dem bewegten Rand. Dadurch bekommen die DGLs und die RBs folgende Form:
 u_t -v_r u_x- D_1 u_{xx} = 0
 w_t + (v - v_r) w_x -  D_2 w_{xx} = 0
 u(-\infty,t)=u_0
 u(0,t) = u_r
 w(0,t) = w_r
 w(\infty,t)=w_0
mit
 v_r(t) = a u_x(0,t) + b w_x(0,t)

Also habe ich keine Quellterme, außer am Rand bei x=x_r im festen Koordinatensystem oder bei x=0 im Mitbewegten.
Private Nachricht senden Benutzer-Profile anzeigen
 
linch
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 26.03.10
Wohnort: Darmstadt
Version: Beta
     Beitrag Verfasst am: 12.07.2012, 23:17     Titel:
  Antworten mit Zitat      
Und, was meinst du, habe ich 'ne Chance?

Grüße
Private Nachricht senden Benutzer-Profile anzeigen
 
Thomas84
Forum-Meister

Forum-Meister


Beiträge: 546
Anmeldedatum: 10.02.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.07.2012, 06:20     Titel:
  Antworten mit Zitat      
Das ist doch sowas wie das Stefan-Problem: http://en.wikipedia.org/wiki/Stefan_problem !?

Da wird eine DGL für das Gebiet und eine für den Rand aufgestellt. Diese sind natürlich miteinander gekoppelt. Ich denke so müsstest du das auch machen. D.h. du hättest dann zwei PDEs für die verschiedenen Phasen und eine ODE für den Rand.
Wie man das dann numerisch löst kann ich jetzt nicht gleich sagen.
Private Nachricht senden Benutzer-Profile anzeigen
 
linch
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 26.03.10
Wohnort: Darmstadt
Version: Beta
     Beitrag Verfasst am: 13.07.2012, 12:15     Titel:
  Antworten mit Zitat      
Ja, es ist in der Tat das Stefan Problem für zweikomponentige Gemische. Man findet in der Literatur Lösungen für das klassische Stefan Problem, und auch einiges für die 2-Komponenten-Verdampfung, nur:

1) Die stimmen nicht exakt mit meinem Fall überein.
2) Ich bin zu doof, um die analytische Lösungen zu nachvollziehen.

Deswegen habe ich auf Matlab gehofft, zumal die PDEs nicht so kompliziert aussehen. Naja, mal schauen.

Vielen Dank für deine Tipps und für die Zeit Wink

Grüße
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.