Page 7 of 7

Re: Univerzitetna fizika

Posted: 5.5.2017 16:27
by Spectra
Morda povdarim še tole: rad bi dobil temperaturni profil od r = a do r = b.

Re: Univerzitetna fizika

Posted: 12.5.2017 22:21
by Spectra
Mislim da sem uspel najti rešitev za moj problem. Temperaturna odvisnost radija v votlem valju, od r=a do r=b, ter od časa t se glasi:

\(T(r,t)=T_n-T_n\pi\sum_{n=1}^\infty e^{-D\alpha_nt}\frac{J_1(b\alpha_n)^2(Y_0(r\alpha_n)J_0(a\alpha_n)-J_0(r\alpha_n)Y_0(a\alpha_n))}{J_0(a\alpha_n)^2-J_1(b\alpha_n)^2}\)

Sicer sem si bral o Besselovih funkcijah ampak še ne razumem teh zadev najbolje. Torej, da dobimo najbolj splošno rešitev, moramo sešteti čimveč rešitev tipa Besselove funkcije, ki so za sumacijo? Kaj pa če naprimer upoštevam samo n=1?
Zanima me še, kako je z \(\alpha_n\) - v literaturi piše, da se jih dobi kot pozitivne rešitve te enačbe:

\(Y_0(a\alpha)J_1(b\alpha)-Y_1(b\alpha)J_0(a\alpha)=0\)

Tukaj bi potreboval malce razlage. V bistvu bi rad fital gornjo rešitev diferencialne enačbe na meritve in me zanima, ali lahko \(\alpha_n\) nastopa kot prosti parameter zraven difuzivnosti D?

Hvala vnaprej!

Re: Univerzitetna fizika

Posted: 18.5.2017 17:46
by Spectra
Mi lahko vsaj pri tem delu nekdo prosim pomaga, kaj namigne? :)

Rešil bi rad podobno enačbo, kot sem jo omenil zgoraj:

\(\alpha*b*J_1(\alpha*b)-B*J_0(\alpha*b)=0\)

...pri čemer sta b in B znani konstanti, \(J_0\) in \(J_1\) pa besselovi funkciji. Kako bi najenostavneje rešil takšno transcendentno enačbo?

Re: Univerzitetna fizika

Posted: 18.5.2017 18:49
by shrink
Sprašuješ po primerni numerični metodi?

Re: Univerzitetna fizika

Posted: 20.5.2017 15:27
by Spectra
V bistvu me je zanimalo, kako se ničle najenostavneje izračuna, neodvisno od postopka. Vidim da mi ničle takšne enačbe izračuna že WolframAlpha:

https://www.wolframalpha.com/input/?i=x ... %5B1,+x%5D

...so to pravilne rešitve? Graf je sicer popolnoma drugačen od \(J_0(x)\) ampak so pa ničle sumljivo podobne...
Tukaj je pa postopek v Mathematici:

Image

...ki pa ne da enakih rešitev. Morda vidiš napako?
Hvala!

Re: Univerzitetna fizika

Posted: 26.5.2017 21:49
by shrink
Ne vem, kaj bi lahko bil razlog. Poskusi s sintakso:

Code: Select all

FindRoot[f[x],{x,2}]
in preveri, če da enak rezultat.

Re: Univerzitetna fizika

Posted: 27.5.2017 20:58
by Spectra
Pri tem:

Code: Select all

FindRoot[f[x], {x, 2}] 
Dobim tole:

Code: Select all

{x -> 1.98793}
Kar pa še vedno ni prav...

Glede na to, da mi je Mathematica izrisala enak graf kot WolframAlpha, je verjetno graf pravilen. Wolfram pa izračuna pravilne ničle, če pogledam graf...

Imam še eno vprašanje, če boš mogoče imel kakšno idejo.
Narisati želim temperaturni profil po zadnji enačbi na sedmi strani tukaj:
http://www.ewp.rpi.edu/hartford/~ernest ... s/ch03.pdf

Če na kratko povzamem, neskončen valj z radijem b in začetno temperaturo Ti in zunanjo temperaturo 0. Analitična rešitev je takšna:

\(T(r,t)=\frac{2T_i}{b} \sum_{n=1}^{\infty} \frac{J_0(\lambda_nr)}{\lambda_nJ_1(\lambda_nb)}e^{-\alpha\lambda_n^2t}\)

Če v Mathematici narišem rešitev z upoštevanimi prvimi 4 \(\lambda_n\) mi pri večjih časih riše ok, pri manjših pa nekako ponori.
\(\lambda\) sem izračunal iz rešitev v članku \(\lambda_nb\), tako da sem jih delil z b.

Primer za t = 100:
Image

Primer za t = 20:
Image

Pri t = 15 se že začne nakazovat neko čudo, potem pa pri t = 5:
Image

Pri t = 0, ko bi morala biti konstantna funkcija pri T = 15 pa je še bolj valovito. Zgoraj se ne vidi, b=0,0117. Naj dodam še, da z Matlabom dobim enako - napačno pri manjših časih...

Še koda:

Code: Select all

b = 0.0117;   
Ti = 15;                             
\[Alpha] = 0.00000015;            
\[Lambda]1 = 205.556;     
\[Lambda]2 = 471.795;
\[Lambda]3 = 739.658;
\[Lambda]4 = 1007.692;

t = 5;

f[x_] = (2*Ti)/
   b*(BesselJ[0, \[Lambda]1*x]/(\[Lambda]1*BesselJ[1, \[Lambda]1*b])
       E^(-\[Alpha]*\[Lambda]1*\[Lambda]1*t) + 
     BesselJ[0, \[Lambda]2*x]/(\[Lambda]2*BesselJ[1, \[Lambda]2*b])
       E^(-\[Alpha]*\[Lambda]2*\[Lambda]2*t) + 
     BesselJ[0, \[Lambda]3*x]/(\[Lambda]3*BesselJ[1, \[Lambda]3*b])
       E^(-\[Alpha]*\[Lambda]3*\[Lambda]3*t) + 
     BesselJ[0, \[Lambda]4*x]/(\[Lambda]4*BesselJ[1, \[Lambda]4*b])
       E^(-\[Alpha]*\[Lambda]4*\[Lambda]4*t));

Plot[f[x], {x, 0, 0.0117}, PlotRange -> {0, 30}]
Kaj bi lahko bilo narobe?
Hvala ti!

lp

Re: Univerzitetna fizika

Posted: 6.6.2017 20:49
by shrink
Glede ničel:

Najbrž ima funkcija FindRoot v Mathematici probleme z numerično stabilnostjo pri tem primeru. Poglej v Help, kako to odpraviti (žal nimam pri roki Mathematice, da bi poskusil). Sem pa preveril v Maple-u in njegova funkcija fsolve pravilno (glede na graf) določi ničle na izbranih intervalih:
bessel_roots.jpg
bessel_roots_correct.jpg
Za drugi del mi ni jasno, kaj točno pomeni "napačno pri manjših časih": napačno glede na kaj?

EDIT: Pomotoma je bil pri prvotni rešitvi v drugem členu funkcije dodan \(x\). Dodajam rešitev za ničle pravilne funkcije (kot je razvidno, praktično ni razlike).