Dlančnik (PDA)

Poglejte polno različico : Numericno resevanje PDE


mrjerry
13.02.2007, 08:36
Vprasanje za kakega stromarja ali aplikativnega matematika...

Imam parcialno diferencialno enacbo. Neznana funkcija je funkcija dveh sprejemljivk, prva je prostorska koordinata (enoosen primer), druga pa cas. Odvod po prostoru je 4. reda, po casu pa 2. Enacba je oblike

c^2 * w''''(x,t) + w..(x,t) = f(x,t)

znak ' oznacuje odvod po prostoru (x), znak ' pa po casu.

Zanima me, kako bi taksno enacbo cim bolj enostavno resil numericno, torej tako, da bi podal zacetne in robne pogoje ter funkcijo f(x,t). Problem je, da taksnih problemov se nisem reseval in da imam zelo uboge osnove teorije PDE. Poznam metodo koncnih razlik in metodo runge-kutta, zdaj pa bi v bistvu rad ti dve metodi na nek nacin zdruzil (z metodo koncnih razlik lahko zlahka dobim resitev robnega problema, z rk pa zacetnega problema).


Ima kdo kaksno idejo? Z brskanjem po spletu se je odprlo vec vprasanj kot pa odgovorov...

Nodika
14.02.2007, 07:46
Vprasanje za kakega stromarja ali aplikativnega matematika...

Imam parcialno diferencialno enacbo. Neznana funkcija je funkcija dveh sprejemljivk, prva je prostorska koordinata (enoosen primer), druga pa cas. Odvod po prostoru je 4. reda, po casu pa 2. Enacba je oblike

c^2 * w''''(x,t) + w..(x,t) = f(x,t)

znak ' oznacuje odvod po prostoru (x), znak ' pa po casu.

Zanima me, kako bi taksno enacbo cim bolj enostavno resil numericno, torej tako, da bi podal zacetne in robne pogoje ter funkcijo f(x,t). Problem je, da taksnih problemov se nisem reseval in da imam zelo uboge osnove teorije PDE. Poznam metodo koncnih razlik in metodo runge-kutta, zdaj pa bi v bistvu rad ti dve metodi na nek nacin zdruzil (z metodo koncnih razlik lahko zlahka dobim resitev robnega problema, z rk pa zacetnega problema).


Ima kdo kaksno idejo? Z brskanjem po spletu se je odprlo vec vprasanj kot pa odgovorov...



Ti a še kar nič? :rolling: :rolling:

ereinion777
14.02.2007, 07:56
Ti imaš takšen problem

Problem parcialne diferencialne enačbe y''(t) = parc G[y(t)] / parc x + ....
po času t na območju L (npr. x=0 do 1) pretvoriš (v glavi) na problem navadne diferencialne enačbe za vsako točko območja L. y'(t) = F(x)

Primer: y'' = G(t,x)
y'' - pospešek
y' - hitrost
y - odmik gredi od ravnovesne lege
x - vzdolžna koordinata gredi
t - čas

Uvedeš nove spremenljivke
y'' = u' = G(t,x)
y' = u

in rešujejš sistem dveh diferencialnih enačb namesto enega.


Recept je, da z metodo končnih razlik, končnih elementov ali volumov aproksimiraš vrednosti G(x) v diskretnih točkah x_i in te vrednosti uporabiš za določitev časovnega odvoda y'(t) v diskretnih časih t_j s katerimi določiš posamezne y(t_j, x_i).

Za quick and dirty reševanje lahko poskusiš s kakšno Runge Kutta metodo. Za resno delo pa si razjasni matematične lastnosti tvoje enačbe in uporabi posebne bolj učinkovite metode.

Priporočam uporabo npr. FORTRAN subroutine RADAU5 http://www.unige.ch/~hairer/prog/stiff/radau5.f , ki ti bo požrla tudi zelo grde primere parcialnih diferencialnih enačb (drobni tisk - je implicitna v času).

Priporočam listanje knjige Numerical recipes http://www.numerical-recipes.com/nronline_switcher.php je zastonj na netu.
Poglavja 16,17 in 19.

mrjerry
14.02.2007, 08:01
Hvala, Ereinion!

Potem, ko dobis sistem enacb, resujes loceno za vsak x v mrezi? Recimo, da mrezo x od 0 do 1 razdelis na 10 tock, potemtakem dobis 10 casovnih vrst pomikov in hitrosti posameznih tock kot funkcije casa (na intervalu od 0 do T)?

To se slisi kar lepo :)


Pardon... Dobis hitrosti in pospesk (u = y'). Da dobim pomike, pa moram nato u se numericno integrirati, ne?

ereinion777
14.02.2007, 08:14
Potem, ko dobis sistem enacb, resujes loceno za vsak x v mrezi? Recimo, da mrezo x od 0 do 1 razdelis na 10 tock, potemtakem dobis 10 casovnih vrst pomikov in hitrosti posameznih tock kot funkcije casa (na intervalu od 0 do T)?

Da


Dobis hitrosti in pospesk (u = y'). Da dobim pomike, pa moram nato u se numericno integrirati, ne?
Da

Načeloma simple ko pasulj, pa vendar je včasih rešitve težko dobiti tudi numerično.

Da preveriš ali je rešitev dobra, moraš storiti naslednje.
Območje L deliš na N odsekov, časovni interval T pa na M odsekov.
Primerjati moraš najmanj 2 rešitvi med seboj, ki se po štrevilu delitev bistveno razlikujejo.

Npr.
R1 = R[M,N]
R2 = R[M**2,N**2]
R3 = R[M**3,N**3]
Če so si rešitve zelo blizu*, si "verodostojno" rešil svoj problem.

(*) blizu - stvar okusa, predvsem pa problema.

mrjerry
14.02.2007, 10:11
Recept je, da z metodo končnih razlik, končnih elementov ali volumov aproksimiraš vrednosti G(x) v diskretnih točkah x_i in te vrednosti uporabiš za določitev časovnega odvoda y'(t) v diskretnih časih t_j s katerimi določiš posamezne y(t_j, x_i).


Tale del mi se ni cisto jasen... V G(x,t) se pojavljata dva clena: prvi je vrednost zunanje funkcije (npr. vzbujevalne sile) na mestu x v casu t. Drugi pa je (v mojem primeru) cetrti parcialni odvod iskane funkcije po prostorski koordinati. Ko omenjas razlicne metode - najbrz imas v mislih, da npr. z MKR ocenim cetrte parcialne odvode?

ereinion777
14.02.2007, 11:51
Tale del mi se ni cisto jasen... V G(x,t) se pojavljata dva clena: prvi je vrednost zunanje funkcije (npr. vzbujevalne sile) na mestu x v casu t. Drugi pa je (v mojem primeru) cetrti parcialni odvod iskane funkcije po prostorski koordinati. Ko omenjas razlicne metode - najbrz imas v mislih, da npr. z MKR ocenim cetrte parcialne odvode?

Ja odvode aproksimiraš npr. z metodo končnih razlik.

mrjerry
15.02.2007, 08:28
Ej, ratalo mi je :)

Hvala!!!

ereinion777
15.02.2007, 08:38
Ej, ratalo mi je :)

Hvala!!!

Nimaš se za kaj zahvaljevati - si sam rešil problem.

Ti rajši (za prihodnje rodove) predstavi svoj problem in daj sliko kakšne rešitve.

:2thumbs:

mrjerry
15.02.2007, 12:03
Bi z veseljem, ampak zal ne smem objavt rezultatov... Mogoce kdaj kasneje :shy: