{ "cells": [ { "cell_type": "markdown", "id": "6d33c6c0-675d-42b2-91cc-656fcad27868", "metadata": {}, "source": [ "# Základy počítačové fyziky II - NEVF138\n", "## SYLABUS (předběžný)\n", "\n", "### ODR\n", "* Numerická derivace, Taylor, Richardsonova extrapolace\n", "* Integrátory - explicitní, implicitní, prediktor/korektor, Runge Kutta, Tuhé soustavy - aplikace na chemickou kinetiku\n", "* Geometrické/symplektické integrátory - aplikace na pohybové rovnice, HARHA\n", "* Počáteční úloha/okrajová úloha\n", "\n", "### PDR\n", "* Metoda sítí\n", "* Metoda konečných prvků - Slabá formulace, konečné prvky, generování sítí, FEniCS, OpenFOAM\n", "* Aplikace - řešení Schrödingerovy rovnice různými metodami, výpočty elektrického a magnetického pole\n", "* Kombinace ODR + PDR - Particle-In-Cell\n", "\n", "### Lineární algebra\n", "* Řešení soustav lin. rovnic, podmíněnost matice\n", "* Iterační metody (Jacobi, Gauss Seidel, SOR ), přímé metody (LU, FA, CR, FACR… CG ?)\n", "* Hledání vlastních čísel\n", "\n", "### Další témata\n", "* Aplikace na experimentání data? - \n", "* Tichonovova regularizace, dekonvoluce, optimalizace, Newtonova metoda…\n", "* __Návrhy studentů jsou vítány__\n", "\n", "# Úvodní poznámky\n", "* Poznámky k přednášce jsou na http://nbviewer.ipython.org/github/rouckas/NEVF138\n", "* Ilustrační příklady v jazyce Python, knihovny numpy, scipy...\n", "* Základy Pythonu - měly by být zřejmé, vysvětlím za běhu." ] }, { "cell_type": "markdown", "id": "9cc1c5ce", "metadata": {}, "source": [ "Okruhy otázek z NEVF138\n", "=======================\n", "\n", "+ Numerická derivace, dopředné diference, zpětné diference, centrální diference\n", "+ Odhad chyby Taylorovým rozvojem, asymptotické chování chyby, Richardsonova extrapolace\n", "+ Numerická integrace, obdélníkové pravidlo, lichoběžníkové pravidlo, globální vs. lokální chyba\n", "+ Integrace ODR, Explicitní vs. Implicitní metody.\n", "+ Rungovy Kuttovy metody - např Eulerova metoda, Heunova metoda (explicitní), Lichoběžníková metoda (implicitní)\n", "+ Leap Frog\n", "+ Stabilita, vyšetřování stability - testovací rovnice, tuhé soustavy\n", "+ Integrace PDR - diskretizace metodou konečných diferencí (metoda sítí)\n", "+ Řešení okrajových úloh - přímé (Gaussova eliminace, LU dekompozice, Fourierova transformace), nepřímé (Relaxační metody - Jacobi, Gauss Seidel...)\n", "+ Matice druhých diferencí - vlastní čísla a vlastní vektory kvalitativně\n", "+ Počátečně-okrajové úlohy (evoluční rovnice) - \n", "+ FTCS (forward time, cetered space), Laxova(-Friedrichsova) metoda, Crank Nicolson a použitelnost pro parabolické (difúze) a hyperbolické (advekce) problémy\n", "+ Von Neumannova analýza stability, Courant Friedrichs Lewyho podmínka, \n", "+ Stručně princip metody konečných prvků: PDR $\\to$ slabá formulace $\\to$ diskretizace prostoru funkcí $\\to$ řešení lin. rovnic\n", "+ Podmíněnost matice a její význam pro numerické metody" ] }, { "cell_type": "markdown", "id": "46aaf2e1-b48d-4d4c-80e5-a14f6f39fa42", "metadata": { "collapsed": false, "execution": { "iopub.execute_input": "2024-06-13T21:55:41.981290Z", "iopub.status.busy": "2024-06-13T21:55:41.977005Z", "iopub.status.idle": "2024-06-13T21:55:42.039818Z", "shell.execute_reply": "2024-06-13T21:55:42.036734Z", "shell.execute_reply.started": "2024-06-13T21:55:41.977933Z" }, "jupyter": { "outputs_hidden": false } }, "source": [ "NEVF138 Exam topics\n", "=======================\n", "\n", "+ Numerical differentiation, forward differences, central differences, backward differences [NR, chap. 5.7; Landau, chap. 7.1; Kincaid chap. 4.3]\n", "+ Error estimates via Taylor expansion, asymptotic behavior of error, Richardson extrapolation [〃]\n", "+ Numerical integration, rectangle rule, trapezoid rule, local vs. global error [NR chap. 4, Kincaid chap. 5]\n", "+ ODE integration, explicit vs. implicit methods [NR chap. 17, Kincaid chap. 10]\n", "+ Runge-Kutta methods - Euler method, Heun method (explicit), Trapezoid method (implicit) [RK]\n", "+ Equations of motion, Leap Frog [Hockney chap. 4]\n", "+ Stability, stability analysis - test equation, stiff ODE systems [NR chap. 17.5, Fasshauer chap. 4]\n", "+ PDE integration - finite difference method [NR chap. 20]\n", "+ Boundary value problems - direct (Gauss elimination, LU decomposition, Fourier transform), indirect (Relaxation methods - Jacobi, Gauss Seidel, SOR...) [〃]\n", "+ Second difference matrix - eigenvalues and eigenvectors - qualitatively [〃]\n", "+ Initial(-boundary) value problems (evolutionary equations) [〃]\n", "+ FTCS (forward time, cetered space), Lax(-Friedrichs) method, Crank Nicolson and applicability to parabolic (diffusion) a hyperbolic (advection) problems [〃]\n", "+ Von Neumann stability analysis, Courant Friedrichs Lewy condition, [〃]\n", "+ Principles of finite element method (briefly): PDE $\\to$ weak formulation $\\to$ function space discretization $\\to$ solution of linear system [Fenics]\n", "+ Matrix condition number - consequences for numerical methods (not in 2024)\n", "\n", "## References\n", "- Hockney: Hockney and Eastwood: Computer Simulation Using Particles\n", "- Kincaid: Kincaid and Cheney: Numerical Mathematics and Computing\n", "- NR: https://numerical.recipes/\n", "- RK: https://www.johndcook.com/blog/2020/02/13/runge-kutta-methods/ , https://en.wikipedia.org/wiki/Runge%E2%80%93Kutta_methods\n", "- Landau: Computational Physics: Problem Solving with Computers 3rd ed.\n", "- Fasshauer: http://www.math.iit.edu/~fass/478_578_handouts.html\n", "- Fenics: Fenics book https://fenicsproject.org/book/" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.3" } }, "nbformat": 4, "nbformat_minor": 5 }