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

Nichtlineare 1D Reaktions-Diffusions-Gleichung

 

mrk
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 18.02.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.02.2013, 13:05     Titel: Nichtlineare 1D Reaktions-Diffusions-Gleichung
  Antworten mit Zitat      
Hallo zusammen,

ich versuche derzeit ein PDE System aus den folgenden Reaktions-Diffusions-Gleichungen zu lösen:

dc/dt = d/dx( -D dc/dx) + g*s(c)

c ist der Konzentrationsvektor nach dem ich lösen will, D ein Diffusionskoeffizient (Größenordnung 1E-5) und g eine Konstante (Größenordnung 1E+5). s ist schließlich ein Quellterm, der chemische Reaktionsraten beschreibt und von den Konzentrationen an einer Stelle abhängig ist. Außerdem ist er stark nichtlinear.

Ich habe die Gleichung in 1D mit Finiten Differenzen diskretisiert und dann mittels ode15s in der Zeit gelöst. Allerdings gibt es hier starke Probleme bezüglich Laufzeit und Stabilität (es wird gar keine Lösung gefunden oder es dauert extrem lange).

Gibt es für das Problem noch andere Ansätze? Jede Idee würde mir weiterhelfen.

Danke für eure Antworten!
Private Nachricht senden Benutzer-Profile anzeigen


Thomas84
Forum-Meister

Forum-Meister


Beiträge: 546
Anmeldedatum: 10.02.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.02.2013, 13:23     Titel:
  Antworten mit Zitat      
Versuch doch mal pdepe.
Private Nachricht senden Benutzer-Profile anzeigen
 
mrk
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 18.02.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.02.2013, 13:24     Titel:
  Antworten mit Zitat      
Danke für den Hinweis, aber das funktioniert leider noch schlechter. Ich habe vergessen zu erwähnen, dass ich pdepe schon versucht habe.
Private Nachricht senden Benutzer-Profile anzeigen
 
Thomas84
Forum-Meister

Forum-Meister


Beiträge: 546
Anmeldedatum: 10.02.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.02.2013, 08:16     Titel:
  Antworten mit Zitat      
Ich hab noch mal überlegt. Das Problem ist das du einen langsamen Prozess (Diffusion) und einen schnellen Prozess (chemische Reaktion) beschreiben willst. Diese beiden Prozesse muss man voneinander trennen. Dazu kann man die Störungstheorie verwenden (http://de.wikipedia.org/wiki/St%C3%B6rungstheorie_%28Klassische_Physik%29)


<br />
c = c_0 + \epsilon c_1 , \tilde{D} = \frac{D}{\epsilon}\\
<br />
\frac{dc_0}{dt} + \epsilon \frac{dc_1}{dt} = -\epsilon \tilde{D} \frac{d^2c_0}{dx^2} - \epsilon^2 \tilde{D} \frac{d^2c_1}{dx^2}  + gs(c_0 + \epsilon)
<br />

nach Potenzen von epsilon ordnen:


<br />
\frac{dc_0}{dt} = g s (c_0 + \epsilon c_1) \\
<br />
\frac{dc_1}{dt} = -\tilde{D} \frac{d^2c}{dx^2} c_0
<br />

Statt einer Differentialgleichung für c hast du nun 2 DGL für c0 und c1. Dafür ist aber der schnelle Prozeß vom langsamen Prozeß getrennt. Dadurch sollte die Berechnung schneller gehen. Zudem könnte man die DGL für c0 schon vorher analytisch oder numerisch lösen und diese Lösung bei der Lösung des Differentialgleichungssystems verwenden.

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