The main objective of the course is to provide fundamental concepts of a high-level programming in Matlab. The
course is intended for students who want to gain hands-on experience with advanced numerical simulations. The
numerical methods are demonstrated on several practical examples during the lecture. The hands-on experience
will ease understanding several concepts taught in Solid State Physics courses. The modern methods employing
machine learning algorithms will be beneficial for all students who want to perform in-depth analysis of their
experimental data.
Last update: Heřman Petr, prof. RNDr., CSc. (18.03.2019)
Volitelný semestrální kurz Numerické simulace v Matlabu: aplikace ve fyzice pevných látek a optice je určen
studentům navazujícího magisterského studia. Prerekvizity předmětu jsou základní přednáška z elektřiny a
magnetizmu (Fyzika II), základy kvantové mechaniky, fyzika pevných látek a matematická analýza. Po úvodu do
programování v Matlabu následuje přehled grafických nástrojů pro zobrazování výsledků numerických simulací a
analýzy experimentálních dat. Metody řešení ordinárních a parciálních diferenciálních rovnic jsou prezentovány s
důrazem na řešení problémů ve dvou a třech dimenzích. Dál
Last update: Heřman Petr, prof. RNDr., CSc. (18.03.2019)
Aim of the course -
The main objective of the course is to provide fundamental concepts of a high-level programming in Matlab. The course is intended for students who want to gain hands-on experience with advanced numerical simulations. The numerical methods are demonstrated on several practical examples during the lecture. The hands-on experience will ease understanding several concepts taught in Solid State Physics courses. The modern methods employing machine learning algorithms will be beneficial for all students who want to perform in-depth analysis of their experimental data.
Last update: Heřman Petr, prof. RNDr., CSc. (18.03.2019)
Hlavní cíl kurzu je seznámit posluchače se základními koncepty, možnostmi numerických simulací a zpracování experimentálních dat v Matlabu, což je jeden z nejrozšířenějších vyšších programovacích jazyku v základním i aplikovaném výzkumu. Kurz je určen pro studenty, kteří mají zájem si sami vyzkoušet řadu pokročilých numerických výpočtů. Numerické postupy jsou demonstrovány na řadě praktických příkladů. Takto získané zkušenosti usnadní posluchačům pochopení základních konceptů vyučovaných v kurzu teorie pevných látek a v optice. Zároveň pokročilé metody zpracování dat metodami strojového učení umožní absolventům provádět detailní analýzy experimentálních dat, které jsou standartními metodami často těžko dosažitelné.
Last update: Heřman Petr, prof. RNDr., CSc. (18.03.2019)
Course completion requirements -
The successful completion requires a numerical implementation of a given problem of the solid state physics or optics. The numerical implementation will be done in Matlab, the source code will be well documented and the student will be able to answer several questions concerning the source code.
Last update: Kunc Jan, doc. RNDr., Ph.D. (30.10.2019)
Podmínkou zakončení předmětu je získání klasifikovaného zápočtu. Zápočet je udělen po numerické implementaci vybraného problému fyziky pevných látek nebo optiky. Numerická implementace bude provedena v programovém prostředí Matlab, zdrojový kód bude řádně okomentován a student zodpoví několik dotazů ohledně předloženého zdrojového kódu.
Last update: Kunc Jan, doc. RNDr., Ph.D. (30.10.2019)
Literature - Czech
[1] D. Vasileska, S. M. Goodnick, G. Klimeck, Computational Electronics, Semiclassical and Quantum Device Modeling and Simulation, CRC Press 2010.
[2] Computational Electromagnetics with Matlab, Matthew N. O. Sadiku, CRC Press 2019
[3] Electromagnetic Waves, Materials, and Computation with Matlab, Dikshitulu K. Kalluri, CRC Press 2012
Last update: Heřman Petr, prof. RNDr., CSc. (18.03.2019)
Requirements to the exam -
The successful completion requires a numerical implementation of a given problem of the solid state physics or optics. The numerical implementation is given as a homework. The numerical implementation will be done in Matlab, the source code will be well documented and the student will be able to answer several questions concerning the source code.
Last update: Kunc Jan, doc. RNDr., Ph.D. (30.10.2019)
Zkouška, zakončená udělením klasifikovaného zápočtu, spočívá v diskuzi vybraného problému z fyziky pevných látek nebo z optiky. Téma si student může zvolit libovolně, případně mu bude zadáno během semestru. V rámci zkoušky se diskutuje numerická implementace vybraného problému. Student zodpoví několik dotazů ohledně předloženého zdrojového kódu.
Last update: Kunc Jan, doc. RNDr., Ph.D. (30.10.2019)
Syllabus -
(1) Introduction
Matlab basics, global and local functions, function handles, scripts, live scripts, basic mathematical operations, the numerical representation of matrices, linear indexing, matrix inversion, numerical integration, interpolation, extrapolation, data smoothing by polynomial function or by median
(2) Graphical tools in Matlab
Plotting function of one and two variables, drawing 2D and 3D graphs, plot labels, shading, lighting, curves in 3D, creating dynamical animations
(3) Non-linear algebraic equations
Fermi level in a doped semiconductor with impurities. Chemical potential temperature dependence.
(4) Non-linear curve fitting
Curve fitting, including the estimation of the fitted parameters' errors.
(5) Ordinary differential equations
Explicitly and implicitly defined ordinary differential equations, sets of ODEs
(6) Partial differential equations in 1D
Solving PDE in one spatial coordinate and time
(7) Partial differential equations in 2D
Definition of problems, eigenvalue problem, geometry specification, triangulation, mesh refining, drawing edges and domains, boundary conditions of the Dirichlet, Neumann and Robin type. Evaluating the solution, drawing the solution, gradient calculation, vector field
(8) Partial differential equations in 3D
Major differences with 2D, defining geometry (AutoCAD, Blender), drawing the solution, solution cross-sections, flows, surface solution
(9) Tight-binding method
Band structure of the graphene nanoribbons.
(10) Selected methods of machine learning
Non-negative matrix factorization, spectral clustering, K-means, K-medoids, Singular value decomposition, etc. are used for advanced experimental data analysis.
Last update: Kunc Jan, doc. RNDr., Ph.D. (07.06.2023)
(1) Úvod
Základy Matlabu, orientace v programovém prostředí, hlavní a lokální funkce, ovladače funkcí, skriptování, základní matematické operace, numerická reprezentace matic, lineární indexování, inverze matice, numerické integrování, interpolace, extrapolace, vyhlazování experimentálních dat polynomem a mediánem.
(2) Grafické nástroje prostředí Matlab
Vykreslování funkcí jedné a dvou proměnných, kreslení 2D a 3D objektů, popisky, stínování, osvětlení, křivky ve 3D, tvorba videa z dynamických simulací.
(3) Ordinární diferenciální rovnice
Explicitní a implicitní zadání ordinární diferenciální rovnice, soustavy diferenciálních rovnic.
(4) Parciální diferenciální rovnice v 1D
Řešení parciálních diferenciálních rovnic v jedné prostorové dimenzi a v čase.
(5) Parciální diferenciální rovnice ve 2D
Typy rovnic a jejich soustav řešitelné ve 2D, Eigenvalue problém, specifikace 2D geometrie, triangulace, zjemnění triangulace, zobrazení definice oblastí a hran, definice okrajových podmínek Dirichletova, von Neumannova a Robinova typu. Nástroje řešení PDE, zobrazení řešení, výpočet gradientu, výpočet vektorového pole.
(6) Parciální diferenciální rovnice ve 3D
Budou diskutovány rozdíly oproti řešení PDE ve 2D, specifika zadání 3D geometrie, zobrazování řešení 3D PDE, metoda řezů, toků, řešení na povrchu objektu.
(7) Řešení Maxwellových rovnic metodou rozkladu do rovinných vln
Základy řešení Maxwellových rovnic metodou rozkladu do rovinných vln, konvoluční matice, reciproký prostor, ireducibilní Brillouinova zóna, řešení problému vlastních čísel a vektorů, zobrazení řešení pásové struktury fotonické struktury.
(8) Metoda konečných diferencí v časové doméně
Diskretizace prostoru metodou Yee mřížky, diferenciální operátory elektrického a magnetického pole, metoda leapfrog časové integrace.
(9) Metoda těsné vazby
Popis interakce atomů v krystalové mřížce metodou těsné vazby, aplikace Blochova teorému pro řešení vlastních funkcí nekonečně rozměrných systémů, formulace těsnovazebního Hamiltoniánu, numerické řešení a zobrazení pásové struktury. Aplikace na 2D krystal grafénu a 1D krystal grafénových nanoproužků.
(10) Nezáporná faktorizace matic
Základy nezáporné faktorizace matic, interpretace nezáporných matic, základní a pokročilé algoritmy s dodatečnými podmínkami na regularitu nebo řídkost bázových funkcí nebo koeficientů.
(11) Shluková analýza
Využití metod strojového učení pro analýzu obrazu, analýzu experimentálních dat a kategorizaci. K-means, K-medoid, spektrální klastrování, nezáporné klastrování.
Last update: Heřman Petr, prof. RNDr., CSc. (18.03.2019)