Finite-Differenzen-Methode < Numerik < Hochschule < Mathe < Vorhilfe
|
Aufgabe | Meine Aufgabe ist es die Finite-Differenzen-Methode für nich Äquidistante Stützstellen aufzustellen und in mein Programm zu integrieren. |
Hi vorweg Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
Nun zu meinen Problem und zwar bin ich auf der suche nach einer Möglichkeit die Finite-Differenzen-Methode so zu modifizieren das sie auf NICHT-äquidistante Stützstellen anwendbar ist.
Ich hab bereits das halbe Netz durchforstet aber nichts gefunden was zu einem halbwegs richtigen Ergebnis führt. Am nähesten dran kam dies hier ___ http://home.arcor.de/andreas.horras/vortrag/seite8.htm ___ aber auch diese Form führte in meinen Programm nicht zu dem richtigen bzw den gleichen ergebniss wie mit äquidistanten Stützstellen.
Wenn ich jetz mir konkret die Zentral-Differenz 2er Ordnung und die Vorwärts-Differenz erster Ordnung für den äquidistanten Fall angucke also:
Zentral 2.Ordnung--> [mm] d²f/dx²=[f(i+1)-2f(i)+f(i-1)]\Delta [/mm] x²
Vorwärts-->df/dx=[f(i+1)-f(i)]/ [mm] \Delta [/mm] x
wie müssten die Differezen bzgl. Nicht-Äquidistanter Stützstellen (also wenn [mm] \Delta [/mm] x sich auch ändert) aussehen?
Ich Hoffe ich hab mein Problem verständlich geschildert und ihr könnt mir Helfen.
Wäre echt über jede Info. Dankbar.
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 00:19 Do 23.08.2012 | Autor: | leduart |
Hallo
sei [mm] \Delta x_i [/mm] die Differenz zw i+1 und i
dann sind die [mm] f'(i)=(f(i+1)-f(i))/\Delta x_i
[/mm]
[mm] f'(i-1)=(f(i)-f(i-1)/\Delta x_{i-1}
[/mm]
entprechend was du 2 te zentrale nennst [mm] f''(i)=\bruch{2*(f'(i)*\Delta x_{i-1}-f'(i-1)*\Delta x_i)}{\Delta x_i*\Delta x_{i-1}*(\Delta x_i+\Delta x_{i-})}
[/mm]
also recht aufwendig.
Ob das hilft? ich lass mal halb offen.
Gruss leduart
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 07:46 Do 23.08.2012 | Autor: | Marcel |
Hallo,
> Meine Aufgabe ist es die Finite-Differenzen-Methode für
> nich Äquidistante Stützstellen aufzustellen und in mein
> Programm zu integrieren.
> Hi vorweg Ich habe diese Frage in keinem Forum auf anderen
> Internetseiten gestellt.
> Nun zu meinen Problem und zwar bin ich auf der suche nach
> einer Möglichkeit die Finite-Differenzen-Methode so zu
> modifizieren das sie auf NICHT-äquidistante Stützstellen
> anwendbar ist.
> Ich hab bereits das halbe Netz durchforstet aber nichts
> gefunden was zu einem halbwegs richtigen Ergebnis führt.
> Am nähesten dran kam dies hier ___
> http://home.arcor.de/andreas.horras/vortrag/seite8.htm ___
> aber auch diese Form führte in meinen Programm nicht zu
> dem richtigen bzw den gleichen ergebniss wie mit
> äquidistanten Stützstellen.
> Wenn ich jetz mir konkret die Zentral-Differenz 2er
> Ordnung und die Vorwärts-Differenz erster Ordnung für den
> äquidistanten Fall angucke also:
>
> Zentral 2.Ordnung--> [mm]d²f/dx²=[f(i+1)-2f(i)+f(i-1)]\Delta[/mm]
> x²
>
> Vorwärts-->df/dx=[f(i+1)-f(i)]/ [mm]\Delta[/mm] x
>
> wie müssten die Differezen bzgl. Nicht-Äquidistanter
> Stützstellen (also wenn [mm]\Delta[/mm] x sich auch ändert)
> aussehen?
> Ich Hoffe ich hab mein Problem verständlich geschildert
> und ihr könnt mir Helfen.
> Wäre echt über jede Info. Dankbar.
ist halt die Frage, was Du alles voraussetzen willst und was auf gar keinen Fall.
Du kannst ja auch nicht erwarten, dass bei nicht äquidistanten Stützstellen das
gleiche Ergebnis rauskommt wie bei äquidistanten. Das hängt von der Problemstellung
und auch von der Feinheit des Gitters ab (generell gibt's da Begriffe wie Konvergenz,
Konsistenz und und und), wie "gut" das ist, was rauskommt.
Generell kannst Du aber mal nach zwei Begriffen suchen, die etwas mit nicht äquidistanten
Stützstellen zu tun haben:
- adaptive mesh refinement (AMR)
- rectilinear grid
Die Frage ist nun auch: In welchen Dimensionen bewegen wir uns? (1D, 2D oder 3D)
Und: Welches Problem willst Du behandeln? (Wärmeleitungsgleichung, Stefan-Problem...)
Gruß,
Marcel
P.S.
Natürlich lasse ich auch die Frage weiter auf halboffen stehen!
|
|
|
|
|
Also danke erstmal für eure schnellen Antworten!! Es handelt sich um ein 2D-Problem in welchen Konzentrationsverläufe über den weg aufgetragen werden sollen.
Das Programm läuft mit Äquidistanten Stützstellen einwandfrei da aber der konzentrationsverlauf zum einen Rand hin ein gleichgewicht annimmt wollte ich nun durch nicht äqudistante Stützstellen eine Randseite genauer Rastern und die andere gröberauflösen bspw. mit der funktion
x= (i^(0.25))/(i),
[mm] \Delta [/mm] x = [xi - x[i + 1]],
Nun scheitert das implementieren der Nicht äquidistanten Stützstellen wie schon gesagt bei der Diskretisierung der Diff.GL.
Das Diskretisieren meiner Diff.Gl. nach den oben beschriebenen Finite Differenzen für Nicht äquidistanten Stützstellen führt leider zu keinen wirklichen Ergebnis.
Welches Verfahren zur Diskretisierung könnte ich denn statt den Finite Differenzen nehmen für eine Diskretisierung mit nicht äquidistanten stützstellen? Nach der Diskretiesierung wird das Newton verfahren zur Näherung verwendet falls das noch hilft?!
P.s:Nach den von dir benannten Begriffen schau ich gleich mal das netz durch:)
Danke schonmal für eure Antworten
|
|
|
|
|
Status: |
(Frage) reagiert/warte auf Reaktion | Datum: | 10:45 Fr 24.08.2012 | Autor: | BuIIettime |
Guten Morgen,
Ja du hast natürlich recht ist natürlich 1D-.- den Artikel hatte ich mir auch shcon genauer angeschaut nur das Vorgehen nicht Richtig verstanden. Dort soll ja ein nicht-Äquidistantes auf ein Äquidistantes Gitter , über Transformation der Koordinate x, abgebildet werden.
D.h. ich muss eine abhängigkeit der Koord. x (welcheNicht-Äquidistant ist) von [mm] \varepsilon [/mm] aufstellen (welches Äquidistant ist). Hoffe das ist soweit richtig?!
Als Bsp. würde das dann bei mir so aussehen:(nR ist bei mir Die Anzahl der Stützstellen)
[mm] \Delta \varepsilon [/mm] = 1/(nR - 1);
[mm] \varepsilon [/mm] =(i - [mm] 1)*\Delta \varepsilon, [/mm] {i, 1, nR}
x = [mm] 1/2^{(\varepsilon - 1)*0.1}
[/mm]
[mm] \Delta [/mm] x = [mm] x[[\varepsilon]] [/mm] - [mm] x[[\varepsilon [/mm] + 1]],
Ist das soweit richtig?
Als nächstes müssten ja Transformationen der ersten und der 2en Ableitung gebildet werden da meine Diff. Ja wie folgt aussehen ( ohne Konstanten) folgt daraus:
0=d²f/dx²+df/dx wird zu 0= [mm] (d^2f/d\varepsilon^2) *(d\varepsilon/dx)^2 [/mm] + df * [mm] d^2\varepsilon /d\varepsilon [/mm] * [mm] dx^2 [/mm] + [mm] df*d\varepsilon/\varepsilon*dx
[/mm]
Diesen Therm. könnte ich dann mit den Finite Differenz Methoden ganz normal diskretisieren richtig?
Danke schonmal für deine Antwort hoffe das ich mich nich allzu dumm anstellen -.-^^
|
|
|
|
|
Guten Morgen,
Ja du hast natürlich recht ist natürlich 1D-.- den Artikel hatte ich mir auch shcon genauer angeschaut nur das Vorgehen nicht Richtig verstanden. Dort soll ja ein nicht-Äquidistantes auf ein Äquidistantes Gitter , über Transformation der Koordinate x, abgebildet werden.
D.h. ich muss eine abhängigkeit der Koord. x (welcheNicht-Äquidistant ist) von [mm] \varepsilon [/mm] aufstellen (welches Äquidistant ist). Hoffe das ist soweit richtig?!
Als Bsp. würde das dann bei mir so aussehen:(nR ist bei mir Die Anzahl der Stützstellen)
[mm] \Delta \varepsilon [/mm] = 1/(nR - 1);
[mm] \varepsilon [/mm] =(i - [mm] 1)*\Delta \varepsilon, [/mm] {i, 1, nR}
x = [mm] 1/2^{(\varepsilon - 1)*0.1} [/mm]
[mm] \Delta [/mm] x = [mm] x[[\varepsilon]] [/mm] - [mm] x[[\varepsilon [/mm] + 1]],
Ist das soweit richtig?
Als nächstes müssten ja Transformationen der ersten und der 2en Ableitung gebildet werden da meine Diff. Ja wie folgt aussehen ( ohne Konstanten) folgt daraus:
0=d²f/dx²+df/dx wird zu 0= [mm] (d^2f/d\varepsilon^2) *(d\varepsilon/dx)^2 [/mm] + df * [mm] d^2\varepsilon /d\varepsilon [/mm] * [mm] dx^2 [/mm] + [mm] df*d\varepsilon/\varepsilon*dx [/mm]
Diesen Therm. könnte ich dann mit den Finite Differenz Methoden ganz normal diskretisieren richtig?
Danke schonmal für deine Antwort hoffe das ich mich nich allzu dumm anstellen -.-^^
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 14:08 Sa 25.08.2012 | Autor: | Marcel |
Hallo,
warum hast Du die Frage zweimal identisch gestellt?
Zu Deiner Frage: Da muss ich mich erstmal reinlesen und reindenken.
Ich kann Dir aber ein paar Links geben, wo schonmal einiges dazu
nachzulesen ist:
1. http://nucatcorner.wordpress.com/2011/03/04/finite-differenzen-methode-mit-nicht-orthogonalem-rechengitter/
2. http://www.iag.uni-stuttgart.de/people/ulrich.rist/master_theses/da_andreas_02.pdf (Seite 38 f)
3. http://www.cfd.tu-berlin.de/Lehre/tfd_skript/node71.html
Weitere Informationen kannst Du ja auch deren Literaturliste entnehmen.
P.S.
Bitte nicht böse sein, ich habe nur gerade ein wenig wenig Zeit, um mich
genauer damit zu befassen. Interessiert bin ich selber an diesen Dingen,
daher gerne Deine Überlegungen und Ergebnisse zur Kontrolle posten.
(Also die Ergebnisse, die Du jetzt nicht irgendwie sonst veröffentlichen willst:
Ich meine sowas wie "kleine Testergebnisse" bzgl. sowieso schon bekanntem!)
Gruß,
Marcel
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 14:20 Di 28.08.2012 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 11:20 Sa 25.08.2012 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 17:20 Mo 24.09.2012 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|