rovnica vedenia tepla peter markoš kef fmfi...

47
Počítačové modelovanie Rovnica vedenia tepla Peter Markoš KEF FMFI UK Katedra experimentálnej fyziky F2-253 Zimný semester 2017/2018

Upload: others

Post on 19-Feb-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Rovnica vedenia tepla Peter Markoš KEF FMFI UKdavinci.fmph.uniba.sk/~markos3/prednasky/poc-fyzika...Problém u(t = M) = AMu(0) VlastnéhodnotymaticeA sú n = 1 2a h 1 cos ˇn N i

Počítačové modelovanieRovnica vedenia tepla

Peter Markoš KEF FMFI UK

Katedra experimentálnej fyziky F2-253

Zimný semester 2017/2018

Page 2: Rovnica vedenia tepla Peter Markoš KEF FMFI UKdavinci.fmph.uniba.sk/~markos3/prednasky/poc-fyzika...Problém u(t = M) = AMu(0) VlastnéhodnotymaticeA sú n = 1 2a h 1 cos ˇn N i

1. Úvod: všeobecné poznámky.

2. Rovnica difúzie v 1D: stabilita riešenia, explicitná a implicitná metóda.

3. Vedenie tepla v 2D a 3D, metóda striedavých smerovFyzikálny problém: určenie efektívnej tepelnej vodivosti kompozitov.

4. Schrödingerova rovnica v 2D.Difúzia elektrónov v náhodnom potenciáli.

Page 3: Rovnica vedenia tepla Peter Markoš KEF FMFI UKdavinci.fmph.uniba.sk/~markos3/prednasky/poc-fyzika...Problém u(t = M) = AMu(0) VlastnéhodnotymaticeA sú n = 1 2a h 1 cos ˇn N i

Úvod: všeobecné poznámky

Rôzne typy úloh: vedenie tepla, difúzia, propagácia kvantovej častice, šírenieelektromagnetických, akustických vĺn, . . .

Prostredie, v ktorom časový vývoj sledujeme, je nehomogénne - nie je možnéúlohu riešiť analyticky.

Úlohy:

I vidieť samotnú časovú závislosť – movieI z časovej závislosti nájsť efektívne parametre systému (tepelnú vodivosť,

difúzny koeficient, permitivitu. . . )

Spoločné črty výpočtov:Výpočty môžu trvať veľmi dlho, vyžadovať veľa pamäte a môžu byť numerickynestabilné.

Page 4: Rovnica vedenia tepla Peter Markoš KEF FMFI UKdavinci.fmph.uniba.sk/~markos3/prednasky/poc-fyzika...Problém u(t = M) = AMu(0) VlastnéhodnotymaticeA sú n = 1 2a h 1 cos ˇn N i

Všeobecná rovnica difúzie

Všeobecná úloha vedenia tepla – difúzna rovnica pre teplotu T :

ρ(~r)cp∂T (t, ~r)

∂t= ∇~r

[λ(~r)∇~rT (t, ~r)

]Vstupné parametre charakterizujúce vzorku:

cp(~r) merné teplo, ρ(~r) hustota, λ(~r) tepelná vodivosťvšetky závisia od polohy v nehomogénnej vzorke.

Zaujíma nás teplota v danom mieste a čase T (~r , t).

Tu musíme špecifikovať vzorku a povedať, čo sa deje na hranici (okolitéprostredie môže odvádzať teplo).

Okrajové podmienky:I periodickéI Dirichletove

Page 5: Rovnica vedenia tepla Peter Markoš KEF FMFI UKdavinci.fmph.uniba.sk/~markos3/prednasky/poc-fyzika...Problém u(t = M) = AMu(0) VlastnéhodnotymaticeA sú n = 1 2a h 1 cos ˇn N i

Rovnica difúzie v 1D

Uvažujme pre začiatok najjednoduchší možný problém: difúziu časticev homogénnom priestore. Rovnica difúzie:

∂u(x , t)

∂t= D

∂2u(x , t)

∂x2

s počiatočnou podmienkou

u(x , t = 0) = δ(x − x0).

Riešenie: Gaussovo rozdelenie

u(x , t) =1√4πDt

exp− (x − x0)2

4Dt

so šírkou

〈x2〉 − 〈x〉2 = 2Dt

preto D . . . koeficient difúzie.

Page 6: Rovnica vedenia tepla Peter Markoš KEF FMFI UKdavinci.fmph.uniba.sk/~markos3/prednasky/poc-fyzika...Problém u(t = M) = AMu(0) VlastnéhodnotymaticeA sú n = 1 2a h 1 cos ˇn N i

Rovnica difúzie v 1DUvažujme pre začiatok najjednoduchší možný problém: difúziu častice vhomogénnom priestore. Uvidíme, že už riešenie tohto problému naráža nanumerické ťažkosti.Rovnica difúzie:

∂u(x , y)

∂t= D

∂2u(x , t)

∂x2

Počiatočná podmienka: je zadané u(x , t = 0) = F (x).Priestorový rozsah: 0 ≤ x ≤ LÚloha: nájsť u(x , t) pre všetky časy t > 0.Jednoduchý nápad:

I diskretizujeme čas: t = tm = m ×∆

I diskretizujeme priestor: x = xn = n × δ, δ = L/N

∂u(x , t)

∂t=

u(x , t + ∆)− u(x , t)

∂2u(x , t)

∂x2 =u(x + δ, t) + u(x − δ, t)− 2u(x , t)

δ2

Page 7: Rovnica vedenia tepla Peter Markoš KEF FMFI UKdavinci.fmph.uniba.sk/~markos3/prednasky/poc-fyzika...Problém u(t = M) = AMu(0) VlastnéhodnotymaticeA sú n = 1 2a h 1 cos ˇn N i

Rovnica difúzie v 1D

Dosadíme a dostaneme

u(x , t + ∆) = u(x , t) +D∆

δ2 [u(x + δ, t) + u(x − δ, t)− 2u(x , t)]

Máme jednoduchú iteračnú schému: z hodnôt v čase t dostaneme explicitnehodnoty v čase t + ∆

δ

n

n-1 n+1

t

un(t + ∆) = un(t) +D∆

δ2 [un+1(t) + un−1(t)− 2un(t)] (x = nδ)

Page 8: Rovnica vedenia tepla Peter Markoš KEF FMFI UKdavinci.fmph.uniba.sk/~markos3/prednasky/poc-fyzika...Problém u(t = M) = AMu(0) VlastnéhodnotymaticeA sú n = 1 2a h 1 cos ˇn N i

Rovnica difúzie v 1D

un(t + ∆) = u(x , t) +D∆

δ2 [un+1(t) + un−1(t)− 2un(t)] (x = nδ)

Definujme vektor u(t):

u(t) =

u(δ, t)

u(2δ, t)u(3δ, t)

...u(Nδ, t)

Page 9: Rovnica vedenia tepla Peter Markoš KEF FMFI UKdavinci.fmph.uniba.sk/~markos3/prednasky/poc-fyzika...Problém u(t = M) = AMu(0) VlastnéhodnotymaticeA sú n = 1 2a h 1 cos ˇn N i

Rovnica difúzie v 1D

Iteračnú schému potom prepíšeme do maticového tvaru

u(t + ∆) = Au(t)

A =

1− a a 0 . . . 0

a 1− 2a a . . ....

0 a. . .

......

...0 . . . a 1− 2a a0 . . . a 1− a

a = D∆/δ2.

Zdá sa, že riešenie je na dosah: v čase t = 0 mám zadanú počiatočnúpodmienku, u(t = 0), z ktorej začnem iterácie,

u(∆) = Au(0), u(2∆) = A2u(0), . . . , u(t = M∆) = AMu(0), . . .

Ale . . .Takto počítané riešenie môže exponenciálne divergovať s narastajúcim časom.

Page 10: Rovnica vedenia tepla Peter Markoš KEF FMFI UKdavinci.fmph.uniba.sk/~markos3/prednasky/poc-fyzika...Problém u(t = M) = AMu(0) VlastnéhodnotymaticeA sú n = 1 2a h 1 cos ˇn N i

Problém

u(t = M∆) = AMu(0)

Vlastné hodnoty matice A sú

Λn = 1− 2a[1− cos

πn

N

]= 1− 4a sin2 πn

2N

Vlastné hodnoty ležia v intervale 1− 4a ≤ Λ ≤ 1.Podmienka stability iteračnej schémy: |λn| < 1.Iteračná schéma je preto stabilná len ak 1− 4a > −1, čo znamená

2a = 2D∆

δ2 < 1

Paradox V dobrej snahe zlepšiť presnosť výpočtu môžeme program pokaziť: akzmenšíme priestorovú diskretizáciu δ a necháme časovú diskretizáciu ∆nezmenenú, program môže havarovať, hoci s väčšou diskretizáciou δ pracoval.Dôsledok: ak je systém priestorovo nehomogénny, a potrebujeme malú δ,musíme postupovať veľmi pomaly (s malou ∆).

Page 11: Rovnica vedenia tepla Peter Markoš KEF FMFI UKdavinci.fmph.uniba.sk/~markos3/prednasky/poc-fyzika...Problém u(t = M) = AMu(0) VlastnéhodnotymaticeA sú n = 1 2a h 1 cos ˇn N i

Matematický dôvod numerickej nestabilityPočiatočnú funkciu u(x , t = 0) = u(nδ, t = 0) môžeme rozvinúť do systémuvlastných stavov matice A:

u(nδ, t = 0) =N∑α=1

aαφα(n)

kde

Aφα = Λαφα.

Potom samozrejme

u(nδ, t = M∆) =[AM]nn′

u(n′, t = 0) =N∑α=1

aαΛMα φα(n).

Preto, ak je čo len jedna jediná vlastná hodnota |Λα| > 1, potom budenumerické riešenie v čase exponenciálne rásť, čo zjavne nezodpovedá žiadnemufyzikálnemu procesu.

Zatiaľ sme riešili len triviálny homogénny systém, v ktorom je ľahké nájsťpríčinu prípadnej divergencie numerického riešenia. Vo všeobecnom prípade tomôže byť podstatne zložitejšie.

Úloha: je treba nájsť algoritmus, ktorý bude odolnejší voči patologickýmdivergenciám.

Page 12: Rovnica vedenia tepla Peter Markoš KEF FMFI UKdavinci.fmph.uniba.sk/~markos3/prednasky/poc-fyzika...Problém u(t = M) = AMu(0) VlastnéhodnotymaticeA sú n = 1 2a h 1 cos ˇn N i

Rovnica vedenia tepla

Fourierov zákon vedenia tepla:

~q = −λgrad T

Rovnica kontinuity

ρc∂T

∂t= −div~q

T teplota K~q tok tepla cez plochu za čas W/m2

λ tepelná vodivosť W/mKρ hustota kg/m3

c tepelná kapacita J/kg Ka = λ/cρ koeficient teplotnej vodivosti m2/s

Rovnica vedenia tepla:

ρcp∂T (t, ~r)

∂t= ∇~r

[λ(~r)∇~rT (t, ~r)

]Neuvažujeme nezávislé zdroje tepla vo vzorke, viac viď napr. kniha Arsenina.

Page 13: Rovnica vedenia tepla Peter Markoš KEF FMFI UKdavinci.fmph.uniba.sk/~markos3/prednasky/poc-fyzika...Problém u(t = M) = AMu(0) VlastnéhodnotymaticeA sú n = 1 2a h 1 cos ˇn N i

Jednorozmerná okrajová úloha

Uvažujme teleso, ktoré je vystavené tepelnému toku zo svojho okolia. Množstvoabsorbovanej energie na povrchu sa periodicky mení v čase. Úlohou je nájsťčasovú závislosť teploty. Pre jednoduchosť predpokladajme, že teleso jehomogénne a má tvar dosky hrúbky L rovnobežnej s rovinou yz . Dopadajúci tokenergie nezávisí od y a z . Úloha je potom jednorozmerná, potrebujeme nájsťteplotu vo vnútri telesa ako funkciu vzdialenosti od okraja ako funkciu času

T (x , t), 0 ≤ x ≤ L

Riešime jednorozmernú rovnicu (??) s konštantnou hodnotou λ(x) ≡ λ

cρ∂T (x , t)

∂t= λ

∂2T (x , t)

∂x2

pre 0 ≤ x ≤ L a s počiatočnou podmienkou

T (x , t = 0) = T0

Page 14: Rovnica vedenia tepla Peter Markoš KEF FMFI UKdavinci.fmph.uniba.sk/~markos3/prednasky/poc-fyzika...Problém u(t = M) = AMu(0) VlastnéhodnotymaticeA sú n = 1 2a h 1 cos ˇn N i

Okrajová podmienka

Na prednej strane telesa (x = 0) musí byť splnená okrajová podmienka

− λ∂T∂x

∣∣∣∣∣x=0

= P(t)− σT 4

Podobne na zadnej strane platí podmienka

− λ∂T∂x

∣∣∣∣∣x=L

= P(t + tp/2)− σT 4

Pre konkrétnosť zvoľme funkciu P(t) periodickú:

P(t) =

{P0 sin2 2π t

tpak i = [2t/tp] je nepárne

0 ak i = [2t/tp] je párne

s periódou tp. Úloha modeluje “jednorozmerný” Mesiac.

Page 15: Rovnica vedenia tepla Peter Markoš KEF FMFI UKdavinci.fmph.uniba.sk/~markos3/prednasky/poc-fyzika...Problém u(t = M) = AMu(0) VlastnéhodnotymaticeA sú n = 1 2a h 1 cos ˇn N i

Bezrozmerné veličiny

Pred začiatkom výpočtov je výhodné prejsť k bezrozmerným veličinám.Definujme charakteristický čas t0 (napríklad 1 deň = 8, 6× 104 s) azodpovedajúcu charakteristickú dĺžku

` =√at0

(a = λ/cρ je koeficient tepelnej vodivosti). Definujme bezrozmerné veličinyτ = t/t0 a ξ = x/`. Rovnicu 13) potom prepíšeme do tvaru

∂T (ξ, τ)

∂τ=∂2T (ξ, τ)

∂ξ2

a okrajovú podmienku (13) napíšeme do tvaru

λ∂T

∂ξ

∣∣∣∣∣ξ=0

= − `P0

λ

[P̃(τ)− σ̃T 4

]kde

P̃(t) = P(t)/P0, σ̃ = σ/P0

Page 16: Rovnica vedenia tepla Peter Markoš KEF FMFI UKdavinci.fmph.uniba.sk/~markos3/prednasky/poc-fyzika...Problém u(t = M) = AMu(0) VlastnéhodnotymaticeA sú n = 1 2a h 1 cos ˇn N i

Numerický algoritmus

Vrstvu rozdelíme na N rovnakých dielikov dĺžky δ = L/N` a definujeme pole Ti

dĺžky N, do ktorého uložíme teplotu v čase τ , a pole Ti pre teploty v časeτ + ∆.Numericky je úloha ekvivalentná iteračnej schéme Ti → Ti . Explicitný tvarrovníc je Pre i = 1 (ľavý okraj vzorky) vyjadríme druhú priestorovú deriváciu

∂2T (ξ)

∂ξ2 =∂

∂ξ

∂T (ξ)

∂ξ=

∂T (ξ)

∂ξ

∣∣∣∣∣ξ+

− ∂T (ξ)

∂ξ

∣∣∣∣∣ξ−

prvú priestorovú deriváciu nahradíme (T2 − T1)/δ, druhú, ktorá vyjadrujegradient teploty na hranici vzorky, vyjadríme z rovnice (14). Dostaneme tak

T1 = T1 +∆

δ2 [T2 − T1] + b̃∆

δ

[P̃(τ)− σ̃T 4

1

]kde b̃ je bezrozmerná konštanta

b̃ =P0`

λ= P0

t0cρ`

Page 17: Rovnica vedenia tepla Peter Markoš KEF FMFI UKdavinci.fmph.uniba.sk/~markos3/prednasky/poc-fyzika...Problém u(t = M) = AMu(0) VlastnéhodnotymaticeA sú n = 1 2a h 1 cos ˇn N i

Numerický algoritmusPre i = N (pravý okraj vzorky) odvodíme, podobne ako v predchádzajúcomprípade,

TN = TN +∆

δ2 [TN−1 − TN ] + b̃∆

δ

[P̃(τ)− σ̃T 4

N

]Pre 2 ≤ i ≤ N − 1 (objem vzorky) stačí nahradiť druhú deriváciu vzťahom (??)a dostaneme

Ti = Ti +∆

δ2 [Ti+1 + Ti−1 − 2Ti ]

Vzhľadom na malé hodnoty konštanty σ je rozumné preškálovať aj teplotu,napríklad T → 100T .Po každej iterácii položíme samozrejme Ti = Ti .Ako sme videli v predchádzajúcej časti, stabilita riešenia závisí od voľbyparametrov ∆ a δ. V našom prípade musíme dbať o to, aby bola splnenápodmienka

δ2 < 1

Okrem toho, časový krok ∆ musí byť dostatočne krátky, aby zmena teploty naokraji vzorky nebola v priebehu jedného kroku príliš veľká.

Page 18: Rovnica vedenia tepla Peter Markoš KEF FMFI UKdavinci.fmph.uniba.sk/~markos3/prednasky/poc-fyzika...Problém u(t = M) = AMu(0) VlastnéhodnotymaticeA sú n = 1 2a h 1 cos ˇn N i

Výsledky

0 1 2 3 4 5t / t

p

0

100

200

300

400

T

T0 = 10 K

105

106

107

108

t / tp

0

50

100

150

200

250

300

Tv

Teploty na okrajoch vzorky a v prostriedku (modrá). Parametre modeluP0 = 1440 W/m2, σ = 5, 67× 10−8 W/m2K4. Materiál vzorky malcρ = 1, 3× 106 J/m3K a teplotnú vodivosť a = 2× 10−7 m2/s, čo zodpovedásuchej pôde. Hrúbka vzorky bola len L = 1000`, kde ` =

√at0 = 0, 131 m.

Maximálnu teplotu odhadneme z rovnice

P + σT 4 = 0

minimálna teplota závisí od materiálových parametrov: periódy zdroja tp,tepelnej vodivosti λ a súčinu cρ.Je ale treba zobrať do úvahy, že výsledky závisia od hodnôt materiálovýchparametrov, ktoré vieme len odhadnúť.

Page 19: Rovnica vedenia tepla Peter Markoš KEF FMFI UKdavinci.fmph.uniba.sk/~markos3/prednasky/poc-fyzika...Problém u(t = M) = AMu(0) VlastnéhodnotymaticeA sú n = 1 2a h 1 cos ˇn N i

Explicitná resp. implicitná metódaRovnica difúzie:

∂u

∂t= D

∂2u

∂x2 = F (x , t)

Keď ju diskretizujeme, môžeme (1) pravú stranu uvažovať v čase t:

∂u(x , t)

∂t=

u(x , t + ∆)− u(x , t)

∆= F (x , t)

alebo budeme uvažovať pravú stranu v čase t + ∆:

∂u(x , t)

∂t=

u(x , t + ∆)− u(x , t)

∆= F (x , t + ∆)

To isté dostaneme, ak použijeme vyjadrenie pre časovú deriváciu v tvare

∂u(x , t)

∂t=

u(x , t)− u(x , t −∆)

∆= F (x , t)

Prvú možnosť sme už skúsili, skúsme teraz druhú. Dostaneme

u(x , t + ∆) = u(x , t) +D∆

δ2 [u(x + δ, t + ∆) + u(x − δ, t + ∆)− 2u(x , t + ∆)]

(pravá strana je počítaná v čase t + ∆).

Page 20: Rovnica vedenia tepla Peter Markoš KEF FMFI UKdavinci.fmph.uniba.sk/~markos3/prednasky/poc-fyzika...Problém u(t = M) = AMu(0) VlastnéhodnotymaticeA sú n = 1 2a h 1 cos ˇn N i

Implicitná metóda

u(x , t + ∆) = u(x , t) +D∆

δ2 [u(x + δ, t + ∆) + u(x − δ, t + ∆)− 2u(x , t + ∆)]

δ

nn-2 n-1

t

n-1

δ

nn-1 n+1

t

n

δ

n n+2n+1

t

n+1

Toto je najjednoduchšia implicitná metóda.

Page 21: Rovnica vedenia tepla Peter Markoš KEF FMFI UKdavinci.fmph.uniba.sk/~markos3/prednasky/poc-fyzika...Problém u(t = M) = AMu(0) VlastnéhodnotymaticeA sú n = 1 2a h 1 cos ˇn N i

Implicitná metóda

u(x , t + ∆) = u(x , t) +D∆

δ2 [u(x + δ, t + ∆) + u(x − δ, t + ∆)− 2u(x , t + ∆)]

Prepíšeme do maticového tvaru

Bu(t + ∆) = u(t), B =

1 + a −a 0 . . . 0

−a 1 + 2a −a . . ....

0 −a. . .

......

...0 . . . −a 1 + 2a −a0 . . . −a 1 + a

opäť a = D∆/δ2.

δ

nn-1 n+1

t

n

Page 22: Rovnica vedenia tepla Peter Markoš KEF FMFI UKdavinci.fmph.uniba.sk/~markos3/prednasky/poc-fyzika...Problém u(t = M) = AMu(0) VlastnéhodnotymaticeA sú n = 1 2a h 1 cos ˇn N i

Implicitná metóda

Bu(t + ∆) = u(t)

K tomu, aby sme získali hodnoty v čase t + ∆ potrebujeme riešiť systémlineárnych rovníc.Iteračný vzťah môžeme formálne napísať v tvare

u(t + ∆) = B−1u(t).

Výhoda: vlastné hodnoty matice B−1 sú

ΛB =1

1 + 4a sin2 πn

N

< 1,

preto je schéma vždy stabilnáNevýhoda: v každom kroku je treba riešiť systém lineárnych rovníc.

Bu(x , t + ∆) = u(x , t)

Našťastie je systém len trojdiagonálny.

Page 23: Rovnica vedenia tepla Peter Markoš KEF FMFI UKdavinci.fmph.uniba.sk/~markos3/prednasky/poc-fyzika...Problém u(t = M) = AMu(0) VlastnéhodnotymaticeA sú n = 1 2a h 1 cos ˇn N i

Crank-Nicolson

Vo všeobecnosti sa dá použiť kombinácia oboch iteračných schém:

u(x , t + ∆) = u(x , t) + ∆ [αF (x , t + ∆) + (1− α)F (x , t)]

α = 0 . . . explicitná α = 1 . . . implicitná.

Crank-Nicolson: α = 1/2.

Najčastejšia metóda riešenia 1D problému difúzie.

Úloha:I Napíšte subroutinu na riešenie trojdiagonálneho systému N lineárnych

rovníc. Presvedčte sa, že jeho riešenie vyžaduje ∼ N krokov.I Napíšte program na riešenie 1D difúzie založený na C-N algoritme.

Page 24: Rovnica vedenia tepla Peter Markoš KEF FMFI UKdavinci.fmph.uniba.sk/~markos3/prednasky/poc-fyzika...Problém u(t = M) = AMu(0) VlastnéhodnotymaticeA sú n = 1 2a h 1 cos ˇn N i

Poučenie

I Stabilita riešenia a jeho efektivita silno závisia od spôsobu diskretizáciepôvodnej rovnice. Vhodná metóda môže ušetriť 99% CPU.

I Nevýhoda implicitnej metódy: vyžaduje v každom kroku riešiť systém Nlineárnych rovníc. Toto môže byť problém vo vyšších dimenziách.

Cvičenie:

I Uvažujme dvojrozmernú rovnicu difúzie. Skúsme priestorovú diskretizáciu

xn = nx∆

y = ny∆

nx = 1, 2, . . . ,Nx ny = 1, 2, . . . ,Ny

Vyjadrite explicitný tvar matice B veľkosti N × N, N = NxNy

I Zopakujte úlohu pre trojrozmerný problém.I Odhadnite, aké veľké môže byť N aby implicitná metóda s maticou B

fungovala na reálnom PC. 2D: N =??, 3D: N =???

Page 25: Rovnica vedenia tepla Peter Markoš KEF FMFI UKdavinci.fmph.uniba.sk/~markos3/prednasky/poc-fyzika...Problém u(t = M) = AMu(0) VlastnéhodnotymaticeA sú n = 1 2a h 1 cos ˇn N i

2D difúzia - metóda striedavých smerov

Kombinácia implicitnej a explicitnej metódy.~r = (x , y), diskretizácia Nx × Ny . Časový vývoj urobíme v dvoch krokoch:

(1) Implicitný v smere osi x , explicitný v smere osi y

1∆

[uxy (t + ∆2 )− uxy (t)] = 1

2Dδ2x

[ux+δx ,y (t + ∆

2 ) + ux−δx ,y (t + ∆2 )− 2ux,y (t + ∆

2 )]

+ 12

Dδ2y

[ux,y+δy (t) + ux,y−δy (t)− 2ux,y (t)

]

(2) Explicitný v smere osi x , implicitný v smere osi y

1∆

[uxy (t + ∆)− uxy (t + ∆2 )] = 1

2Dδ2x

[ux+δx ,y (t + ∆

2 ) + ux−δx ,y (t + ∆2 )− 2ux,y (t + ∆

2 )]

+ 12

Dδ2y

[ux,y+δy (t + ∆) + ux,y−δy (t + ∆)− 2ux,y (t + ∆)

]

Page 26: Rovnica vedenia tepla Peter Markoš KEF FMFI UKdavinci.fmph.uniba.sk/~markos3/prednasky/poc-fyzika...Problém u(t = M) = AMu(0) VlastnéhodnotymaticeA sú n = 1 2a h 1 cos ˇn N i

PostupPrvý krok: Implicitný v smere osi x , explicitný v smere osi y

1∆

[uxy (t + ∆2 )− uxy (t)] = 1

2Dδ2x

[ux+δx ,y (t + ∆

2 ) + ux−δx ,y (t + ∆2 )− 2ux,y (t + ∆

2 )]

+ 12

Dδ2y

[ux,y+δy (t) + ux,y−δy (t)− 2ux,y (t)

]Pozostáva v skutočnosti z Ny krokov:

Pre každé y máme Nx neznámych

δ

δ

y

xx

y

a musíme riešiť rovnicu

Buxy (t +∆

2) = uxy (t) +

D

δ2y

[uxy+δy (t) + uxy−δy (t)

]Trojdiagonálny systém rovníc s maticou B, ktorú už poznáme.

Page 27: Rovnica vedenia tepla Peter Markoš KEF FMFI UKdavinci.fmph.uniba.sk/~markos3/prednasky/poc-fyzika...Problém u(t = M) = AMu(0) VlastnéhodnotymaticeA sú n = 1 2a h 1 cos ˇn N i

Postup

Celý algoritmus:I Ny -krát riešim trojdiagonálny systém rovníc Nx × Nx .

Vstupné hodnoty: u v čase tZískam hodnoty u v čase t + ∆/2

I Nx -krát riešim trojdiagonálny systém rovníc Ny × Ny .Vstupné hodnoty: u v čase t + ∆/2Získam hodnoty u v čase t + ∆

Celá úloha: v každom kroku riešim Nx + Ny troj diagonálnych systémov rovníc.Numerická náročnosť ∼ Nx × Ny je porovnateľná s explicitnou metódou !Keby som chcel implicitnú metódu riešiť priamo, bola by numerická náročnosť∼ N × N.(Toto nemusí byť pravda, ak použijem subroutiny pre riešenie veľmi riedkych(sparse) systémov lineárnych rovníc. Ale aj tak je numericky bezpečnejšie riešiťNx = 1 000 rovníc ako N = 1 000 000 rovníc.)

Page 28: Rovnica vedenia tepla Peter Markoš KEF FMFI UKdavinci.fmph.uniba.sk/~markos3/prednasky/poc-fyzika...Problém u(t = M) = AMu(0) VlastnéhodnotymaticeA sú n = 1 2a h 1 cos ˇn N i

Poznámky

I Nediskutovali sme okrajové podmienky - Rovnice pre okrajové riadky astĺpce sú iné:

I chýbajú susedia dole/hore/vpravo/vľavoI je potrebné definovať “interakciu s okolím”

I Diskretizácia je v reálnych prípadoch zložitejšia - budeme diskutovať nižšieI Pre efektívnu prácu s pamäťou je výhodné všetky matice medzi krokmi 1

a 2 preusporiadať A→ AT

Page 29: Rovnica vedenia tepla Peter Markoš KEF FMFI UKdavinci.fmph.uniba.sk/~markos3/prednasky/poc-fyzika...Problém u(t = M) = AMu(0) VlastnéhodnotymaticeA sú n = 1 2a h 1 cos ˇn N i

Výhody:

I metóda je “vždy” stabilná, pretože vlastné hodnoty časovej transformáciesú vždy typu ΛB a preto < 1.

I je rýchla, lebo v každom kroku riešime len trojdiagonálny systémlineárnych rovníc. CPU ∝ Nx ,Ny , nie ∝ Nx × Ny

I je rýchla, lebo integračný krok ∆ môže byť veľký (1000× väčší) ako priexplicitnej metóde). Celkový výpočet je preto ∼ 300-krát rýchlejší anavyše stabilný.

Poznámka: všetky metódy sú ideálne na paralelné počty (napríklad nagrafických kartách).

Page 30: Rovnica vedenia tepla Peter Markoš KEF FMFI UKdavinci.fmph.uniba.sk/~markos3/prednasky/poc-fyzika...Problém u(t = M) = AMu(0) VlastnéhodnotymaticeA sú n = 1 2a h 1 cos ˇn N i

Ukážka: šírenie tepla nehomogénnym 2D a 3D kompozitom

Potrebujeme nájsť efektívnu tepelnú vodivosť nehomogénneho kompozitu:

osvit v case t=0

T(t) na zadnej strane vzorky

R

r

Prierez vzorky

Page 31: Rovnica vedenia tepla Peter Markoš KEF FMFI UKdavinci.fmph.uniba.sk/~markos3/prednasky/poc-fyzika...Problém u(t = M) = AMu(0) VlastnéhodnotymaticeA sú n = 1 2a h 1 cos ˇn N i

Formulácia úlohy

I Základná rovnica: rovnica vedenia tepla - parabolická DRI Diskretizácia spojitého problémuI Definujeme podmienky na okrajoch vzorkyI Definujeme počiatočný stav: v čase t = 0 horný okraj vzorky osvietime

(dodáme teplo!)I Riešime časový vývoj teploty v každom bode vzorkyI Výstup: časový vývoj teploty na zadnej strane vzorky

Page 32: Rovnica vedenia tepla Peter Markoš KEF FMFI UKdavinci.fmph.uniba.sk/~markos3/prednasky/poc-fyzika...Problém u(t = M) = AMu(0) VlastnéhodnotymaticeA sú n = 1 2a h 1 cos ˇn N i

Základná rovnica

Fourierov zákon vedenia tepla:

~q = −λgrad T

Rovnica kontinuity

ρc∂T

∂t= −div~q

T teplota K~q tok tepla cez plochu za čas W/m2

λ tepelná vodivosť W/mKρ hustota kg/m3

c tepelná kapacita J/kg Ka = λ/cρ koeficient teplotnej vodivosti m2/s

Rovnica vedenia tepla:

ρcp∂T (t, ~r)

∂t= ∇~r

[λ(~r)∇~rT (t, ~r)

]Neuvažujeme nezávislé zdroje tepla vo vzorke, viac viď napr. kniha Arsenina.

Page 33: Rovnica vedenia tepla Peter Markoš KEF FMFI UKdavinci.fmph.uniba.sk/~markos3/prednasky/poc-fyzika...Problém u(t = M) = AMu(0) VlastnéhodnotymaticeA sú n = 1 2a h 1 cos ˇn N i

Diskretizácia

ρcp∂T (t, ~r)

∂t= ∇~r

[λ(~r)∇~rT (t, ~r)

]Všeobecný prípad λ = λ(~r):

λ+λλ

−T

+T

- T

x x x + δ− δ

∂xλ∂

∂xT ≈ 1

δ2

[λ+ + λ

2(T+ − T )− λ+ λ−

2(T − T−)

]

Page 34: Rovnica vedenia tepla Peter Markoš KEF FMFI UKdavinci.fmph.uniba.sk/~markos3/prednasky/poc-fyzika...Problém u(t = M) = AMu(0) VlastnéhodnotymaticeA sú n = 1 2a h 1 cos ˇn N i

Okrajové podmienky, počiatočný stav

Okrajové podmienky závisia od toku tepla cez hranicu.Najjednoduchší prípad: dokonale izolujúca hranica.

Počiatočný stav: teplota v čase v čase t = 0Najjednoduchší prípad: definujem v “osvetlenom” kruhu teplotu T = 1, všadeinde vo vzorke je teplota T = 0. Tým je definovaná teplotná škála, aj prijatéteplo.

Fyzikálne premenné je výhodné zadávať v bezrozmernom tvare. V prípadekompozitu potrebujeme len dve čísla:

(ρc)1

(ρc)2,

λ1

λ2

Page 35: Rovnica vedenia tepla Peter Markoš KEF FMFI UKdavinci.fmph.uniba.sk/~markos3/prednasky/poc-fyzika...Problém u(t = M) = AMu(0) VlastnéhodnotymaticeA sú n = 1 2a h 1 cos ˇn N i

Ukážka: šírenie tepla nehomogénnym 2D a 3D kompozitom

Rovnica:

ρcp∂T (t, ~r)

∂t= ∇~r

[λ(~r)∇~rT (t, ~r)

]λ(~r) . . . koeficient tepelnej vodivosti.Nehomogénne vzorky, kompozity. Úlohaje nájsť efektívne parametre, λeff .

osvit v case t=0

T(t) na zadnej strane vzorky

R

r

Experiment: vzorka sa osvieti na jednej strane, a meria sa časový vývoj teplotyna druhej strane. Z neho je možné nájsť efektívnu tepelnú vodivosť λeff .Šírenie tepla a časové zmeny teploty je možné simulovať numericky.

Page 36: Rovnica vedenia tepla Peter Markoš KEF FMFI UKdavinci.fmph.uniba.sk/~markos3/prednasky/poc-fyzika...Problém u(t = M) = AMu(0) VlastnéhodnotymaticeA sú n = 1 2a h 1 cos ˇn N i

Ukážka numerických dát - medený valček

V čase t = 0 ožiarime valček na jednej strane a meriame teplotu na zadnejstrane valčeka ako funkciu času.

0 200 400 600 800 1000time

0

0.2

0.4

0.6

0.8

1

tem

pera

ture

Cu, kruh, kompletny osvit

t1/2

Tepelná vodivosť λeffje daná teoretickým vzťahom:

λeff〈ρcp〉

= 0.1388L2z

t1/2

t1/2 čas, za ktorý teplota na zadnejstrane dosiahne polovicu svojej li-mitnej hodnoty T (t →∞).

〈ρcp〉 stredná hodnota = f (ρcp)1 + (1− f )(ρc)2

f . . . filling factor - definuje zloženie pôvodnej vzorky

Page 37: Rovnica vedenia tepla Peter Markoš KEF FMFI UKdavinci.fmph.uniba.sk/~markos3/prednasky/poc-fyzika...Problém u(t = M) = AMu(0) VlastnéhodnotymaticeA sú n = 1 2a h 1 cos ˇn N i

Anizotrópne vzorky

0 2000Time

0

0.2

0.4

0.6

0.8

1

Te

mp

era

ture

TlimitL=20L=40L=60

Test: R=80, r=46, ciste Cu Tlimit=0.3183178

Pre anizotrópne vzorky je λeff tenzor.Predná strana sa osvetlí len čiastočne. Z priebehu teploty na zadnej strane jemožné nájsť tepelnú vodivosť v oboch smeroch.

Page 38: Rovnica vedenia tepla Peter Markoš KEF FMFI UKdavinci.fmph.uniba.sk/~markos3/prednasky/poc-fyzika...Problém u(t = M) = AMu(0) VlastnéhodnotymaticeA sú n = 1 2a h 1 cos ˇn N i

Kompozit

Prierez 3D vzorkou: tenké vláknauložené v matriciVzorka je anizotrópna:

λeff x λeff y λeff z

Úloha: nájsť efektívnu tepelnú vodi-vosť vo všetkých troch smeroch.Aj pri najjednoduchšej priestorovejdiskretizácii dobrý súhlas (5%) expe-rimentálnych dát s výsledkami simu-lácií.(160× 160× 160 na PC 750 MHz)

Page 39: Rovnica vedenia tepla Peter Markoš KEF FMFI UKdavinci.fmph.uniba.sk/~markos3/prednasky/poc-fyzika...Problém u(t = M) = AMu(0) VlastnéhodnotymaticeA sú n = 1 2a h 1 cos ˇn N i

Ukážka numerických dát - kompozit

Experimentálne meranie, numerická simulácia:

1 10 100 1000 10000

Time

0

0.2

0.4

0.6

0.8

1

1.2

Tem

pera

ture

kruhova vzorka, priemer 160, plocha 20.079, f=0.3323

L=10 R=46 kanthal

L=10 R=46 med

L=20 R=46 kanthal

L=20 R=46 med

L=40 R=46 kanthal

L=40 R=46 med

L=40 R=56

L=40 R=36

Vzorka sa vpredu osvietiR . . . polomer osvituL . . . dĺžka vzorkyPočíta sa priebeh teploty na zadnejstrane vzorky. Z teoretických mode-lov je možné nájsť efektívnu vodi-vosť.

Numericky môžem efektívnu vodivosť v priečnom smere získať aj priamousimuláciou. Pretože vzorka v priereze nie je symetrická, dostanem rôznehodnoty λeff v dvoch priečnych smeroch.

Page 40: Rovnica vedenia tepla Peter Markoš KEF FMFI UKdavinci.fmph.uniba.sk/~markos3/prednasky/poc-fyzika...Problém u(t = M) = AMu(0) VlastnéhodnotymaticeA sú n = 1 2a h 1 cos ˇn N i

Dodatok: Schrödingerova rovnica

i~∂Ψ(x , t)

∂t= HΨ(x , t) = −∂

2Ψ(x , t)

∂x2 + V (x)Ψ(x , t)

Tie isté numerické metódy, ako pri rovnici difúzie.Je treba dbať o to, aby operácia Ψ(x , t + ∆) = UΨ(x , t) bola unitárna:

Ψ(x , t + ∆) = e−iH∆/~ Ψ(x , t)

inak sa norma vlnovej funkcie,∑~r |Ψ(~r)|, nezachová. Napríklad triviálny rozvoj

Ψ(x , t + ∆) =

[1− i

~H∆

]Ψ(x , t)

nie je dobrý.Toto sa dá obísť uvážením členov ∝ ∆2:

Ψ(x , t + ∆) =

[1− i

~H∆/2

] [1 +

i

~H∆/2

]−1

Ψ(x , t).

Page 41: Rovnica vedenia tepla Peter Markoš KEF FMFI UKdavinci.fmph.uniba.sk/~markos3/prednasky/poc-fyzika...Problém u(t = M) = AMu(0) VlastnéhodnotymaticeA sú n = 1 2a h 1 cos ˇn N i

2D SchR: Metóda striedavých smerov.

i~∂Ψ(x , y , t)

∂t= HΨ(x , y , t) = −∂

2Ψ(x , y , t)

∂x2 −∂2Ψ(x , y , t)

∂y2 +V (x , y)Ψ(x , y , t)

Prepíšme SChR formálne do tvaru

i~∂Ψ(x , y , t)

∂t= [Hx + Hy ] Ψxy (t)

kdeHx = ∂2/∂x2 + V (x , y)/2Hy = ∂2/∂y2 + V (x , y)/2Diskretizujme teraz čas, aproximujme časovú deriváciu. Tak ako v metódestriedavých smerov sa v čase posunieme na dva kroky:

Prvý krok: [1− i∆

2~Hx

]Ψxy (t +

2) =

[1 +

i∆

2~Hy

]Ψxy (t)

zodpovedá implicitnej metóde v smere x a explicitnej v smere y .

Page 42: Rovnica vedenia tepla Peter Markoš KEF FMFI UKdavinci.fmph.uniba.sk/~markos3/prednasky/poc-fyzika...Problém u(t = M) = AMu(0) VlastnéhodnotymaticeA sú n = 1 2a h 1 cos ˇn N i

Metóda striedavých smerov.Druhý krok [

1− i∆

2~Hy

]Ψ(t + ∆) =

[1 +

i∆

2~Hx

]Ψxy (t +

2)

zodpovedá implicitnej metóde v smere y a explicitnej v smere x .Výsledná transformácia:

Ψ(t + ∆) =

[1− i∆

2~Hy

]−1 [1 +

i∆

2~Hx

] [1− i∆

2~Hx

]−1 [1 +

i∆

2~Hy

]Ψ(t)

(Hx = ∂2/∂x2 + V (x , y)/2, Hy = ∂2/∂y2 + V (x , y)/2) je v unitárna do rádu∆2, lebo zachováva normu∑

xy

|Ψ(x , y , t)|2 ≡ 1

do rádu ∼ ∆2. Neskôr preberieme metódy unitárne do vyšších rádov.

Počiatočná podmienka: v čase t = 0 diagonalizujeme systém `× ` (` = 24) avyberieme vlnovú funkciu, ktorá je najbližšie k energii elektrónu.

Okrajové podmienky: najlepšie je zvoliť Dirichletove

Page 43: Rovnica vedenia tepla Peter Markoš KEF FMFI UKdavinci.fmph.uniba.sk/~markos3/prednasky/poc-fyzika...Problém u(t = M) = AMu(0) VlastnéhodnotymaticeA sú n = 1 2a h 1 cos ˇn N i

Časový vývoj vlnovej funkcieDiskretizujme Schrödingerovu rovnicu. Náhodný potenciál modelujme v tvare

V (x , y)→W∑xy

εxyΨ(x , y , t), 〈εxy 〉 = 1

pohyb elektrónu na 2D náhodnej mriežke

i~∂Ψ(x , y , t)

∂t= HΨ(x , y , t) = W εxyΨ(x , y , t) + 4Ψ(x , y , t)

−Ψ(x + δ, y , t)−Ψ(x − δ, y , t)−Ψ(x , y + δ, t)−Ψ(x , y − δ, t)

nx−1 n

x n

x+1

ny+1

ny

ny−1

a aplikujeme metódu striedavých smerov.

Page 44: Rovnica vedenia tepla Peter Markoš KEF FMFI UKdavinci.fmph.uniba.sk/~markos3/prednasky/poc-fyzika...Problém u(t = M) = AMu(0) VlastnéhodnotymaticeA sú n = 1 2a h 1 cos ˇn N i

Časový vývoj vlnovej funkcie

Numerická simulácia predchádzajúcej úlohy:

Page 45: Rovnica vedenia tepla Peter Markoš KEF FMFI UKdavinci.fmph.uniba.sk/~markos3/prednasky/poc-fyzika...Problém u(t = M) = AMu(0) VlastnéhodnotymaticeA sú n = 1 2a h 1 cos ˇn N i

Výpočet difúzneho koeficientu:

〈r2〉 = Dt:

0 200 400 600 800 1000

t

0

10000

20000

30000

40000

W=1 D=24.93

W=2 D=7.125

W=4 D=1.69

W=6

r2

. . . a následne vodivosti σ = e2Dn(E).

Page 46: Rovnica vedenia tepla Peter Markoš KEF FMFI UKdavinci.fmph.uniba.sk/~markos3/prednasky/poc-fyzika...Problém u(t = M) = AMu(0) VlastnéhodnotymaticeA sú n = 1 2a h 1 cos ˇn N i

Lokalizácia

Pre silnú neusporiadanosť (W = 6) v mriežke pozorujeme, že vlnová funkcia saďalej nerozširuje - elektrón je lokalizovaný a D = 0.

Page 47: Rovnica vedenia tepla Peter Markoš KEF FMFI UKdavinci.fmph.uniba.sk/~markos3/prednasky/poc-fyzika...Problém u(t = M) = AMu(0) VlastnéhodnotymaticeA sú n = 1 2a h 1 cos ˇn N i

Záver

I Numerické metódy vyžadujú porozumenie stability použitej metódyI Explicitnú metódu môžeme používať na úlohy s krátkym časom, kedy si

môžeme dovoliť veľmi malý časový krokI Nespomínali sme vylepšené explicitné metódy, ktoré majú podstatne

lepšiu presnosťI Implicitná metóda “takmer nikdy” nesklameI Sofistikovanejší algoritmus umožňuje vyriešiť aj zdanlivo neriešiteľné

problémy

Literatúra.

I W. Press et al.: Numerical RecipesI E. Vitásek: Numerické metody, SNTL Praha 1987