Počítačové metody v teoretické fyzice II - NTMF058

Martin Čížek a Karel Houfek

Aktuální informace:     letos přednáší Karel Houfek
přednáška probíhá v pátek v 9:00-11:20 v posluchárně ÚTF

Materiály ke stažení

Zde jsou ke stažení poznámky, které jsem používal při přednáškách:

  1. Iterační metody řešení soustav lineárních rovnic (pdf)
  2. Diferenční metody (metoda sítí) pro parciální diferenciální rovnice (pdf)
  3. Základy metody konečných prvků pro okrajové úlohy (pdf)
  4. Metoda Monte-Carlo (pdf)

Zkoušet budu pouze to, co jsem odpřednesl. V poznámkách je toho více, ale snad to není na škodu.

Zadání zápočtových úloh pro rok 2016/2017

Podmínkou udělení zápočtu je vypracování zápočtové úlohy. Letos si můžete vybrat ze tří možnosti:

  1. Vyřešte metodou konečných diferencí následující úlohu pro jednu zvolenou oblast.
  2. Vyřešte pomocí FreeFem++ (tedy metodou konečných prvků) následující úlohu pro všechny oblasti a určete, který z kondenzátorů má největší kapacitu.
  3. Vyřešte časově závislou dvourozměrnou Schrödingerovu rovnici pomocí metody split-operator a rychlé Fourierovy transformace. Program otestujte na pohybu Gaussovského balíku v poli harmonického oscilátoru.

Požadavky ke zkoušce

Níže uvedená témata je potřeba znát v rozsahu přednášky, pokud např. nebyl na přednášce uveden důkaz některého tvrzení, pak nebude požadován ani u zkoušky. U jednotlivých hlavních témat je uvedena literatura, ze které jsem při přípravě přednášky především čerpal. Odkazy jsou na seznam doporučené literatury níže.

  1. Diferenční metody (metoda sítí) pro parciální diferenciální rovnice (PDR) ([1] kap. 17, 19 [2] kap. 3 a 4)
  2. Iterační metody řešení soustav lineárních rovnic ([1 kap. 19, [3] kap. 6)
  3. Základy metody konečných prvků pro okrajové úlohy ([4] kap. 1-3)
  4. Metoda Monte-Carlo ([5] kap. 8, [1] kap. 7)

Doporučená literatura

Níže uvedená literatura k přednášce je k dispozici ke stažení v "tajném" podadresáři, jehož jméno se dozvíte na přednášce či na požádání (nejlépe zasláním e-mailu přednášejícímu).

[1] Press W. H., Teukolsky S. A., Vetterling W. T., Flannery B. P. - Numerical Recipes Third Edition - The Art of Scientific Computing, Third Edition, Cambridge University Press, Cambridge 2007, starší vydání dostupné online,
především kapitoly 7 (metoda Monte-Carlo), 17(okrajové úlohy v 1D) a 19 (přehled metod pro PDR)
[2]Trefethen L. N. - Finite Difference and Spectral Methods for Ordinary and Partial Differential Equations, 1996, dostupné online,
především kapitoly 3 (diferenční metody) a 4 (stabilita a konvergence)
[3]Demmel J. W. - Applied Numerical Linear Algebra, SIAM, Philadelphia 2007,
především kapitola 6 (iterační metody)
[4]Johnson C. - Numerical Solution of Partial Differential Equations by the Finite Element Method, Cambridge , New York 1987,
především kapitoly 1-3 (metoda konečných prvků)
[5]Koonin S. E. - Computational Physics, Benjamin, Menlo Park 1986,
především kapitoly 6 (eliptické PDR), 7 (parabolické PDR) a 8 (metoda Monte-Carlo)
[6]LeVeque R. J. - Finite Difference Methods for Ordinary and Partial Differential Equations, SIAM, Philadelphia 2007,
především kapitoly 1, 3 (eliptické PDR), 4 (iterační metody), 9 (parabolické PDR) a 10 (hyperbolické PDR)
[7]Vitásek E. - Numerické metody, SNTL, Praha 1987,
především kapitoly I.2.2-I.2.3 (iterační metody), VI (eliptické PDR), VII(parabolické PDR) a VIII (hyperbolické PDR)
[8]Isaacson E., Keller H. B. - Analysis of Numerical Methods, Dover, New York 1994,
především kapitoly 2.4 (iterační metody), 9 (analýza metod pro PDR)

Numerické knihovny pro fyziku

Některé z níže zmíněných knihoven (jak ve FORTRANU, tak v jazyku C) a mnohé další pro řadu speciálních problémů lze najít na www.netlib.org.

1) CPC - Library, (hlavně FORTRAN)

Knihovna programů časopisu "Computer Physics Communications", kde lze nalézt články popisující metody. Obsahuje řešení pro mnoho úloh s nimiž se setkáte ve fyzice, včetně pokročilých metod, npř. různé speciální funkce, řešení Hartree-Fockových rovnic, ...Dostupné v doméně fakulty.

2) GSL (Gnu scientific library) (orientovano na C, ale je zde i překladač a knihovny pro F90)

Široké spektrum matematických procedur různého zaměření, vše volně k dispozici.

3) BLAS, EISPACK, LINPACK, LAPACK (Primárně FORTRAN 77, FORTRAN 90, existuje C++ verze)

BLAS je základní balík pro manipulaci s vektory a maticemi (jeho náhrada, která se umí maximálně efektinvě přizpůsobit hardware (optimální využití cache paměti procesoru pro násobení matic atd.) se jmenuje ATLAS). Na něj staví EISPACK pro diagonalizaci matic a LINPACK pro lineární algebru. Jejich sloučením vznikl LAPACK, který obsahuje velké množství procedur pro numerickou lineární algebru.

4) Intel Fortran (C) MKL - library

Matematické knihovny dodávané k intelovským překladačům FORTRANU a C. Obsahují mimo jiné LAPACK a SPARSE SOLVER pro inverzi obecných řídkých matic.

5) NAG library

Komerční profesionální balík matematických knihoven.

6) Super LU - Berkeley

LU dekompozice pro obecné řídké matice.

7) Quadpack

Adaptibilní kvadratury .