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

Základní informace:     v roce 2020/2021 přednáší Karel Houfek
přednáška a cvičení se koná každý čtvrtek od 4.3. do 3.6. od 14:50 přes ZOOM
Meeting ID: 921 5057 3204, Passcode: Gauss

Materiály ke stažení

Poznámky a notebooky v Mathematice, které jsem používal při online přednáškách a cvičeních:

  1. přednáška 4.3.2021
  2. přednáška 11.3.2021
  3. přednáška 18.3.2021
  4. přednáška 25.3.2021
  5. přednáška 1.4.2021
  6. přednáška 8.4.2021
  7. přednáška 15.4.2021 - doplňková přednáška a cvičení, její obsah nebude zkoušen
  8. přednáška 22.4.2021 - cvičení ve FreeFEM++
  9. přednáška 29.4.2021
  10. přednáška 6.5.2021
  11. přednáška 13.5.2021
  12. přednáška 20.5.2021 se nekonala

  13. přednáška 27.5.2021

Zde jsou ke stažení poznámky, které jsem používal ve školním roce 2018-2019.

  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)

Zadání zápočtových úloh

Podmínkou udělení zápočtu je vypracování zápočtové úlohy. Úlohy pro školní rok 2020/2021 jsem se nakonec rozhodl nechat pouze tyto dvě z předchozích let:

  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.

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. Iterační metody řešení soustav lineárních rovnic ([1 kap. 19, [3] kap. 6)
  2. Diferenční metody (metoda sítí) pro parciální diferenciální rovnice (PDR) ([1] kap. 17, 19 [2] kap. 3 a 4)
  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 .