Automatizace výpočtů, simulace a vizualizace (FSI-LAV)

Akademický rok 2024/2025
Garant: Ing. Libor Kudela, Ph.D.  
Garantující pracoviště: všechny předměty garantované tímto pracovištěm
Jazyk výuky: čeština
Typ předmětu: oborový předmět
Cíle předmětu:

V tomto kurzu se studenti naučí, jak automatizovat výpočty a návrhové procesy pro vývoj vlastního softwaru pomocí programovacího jazyka Python spolu s kompatibilními knihovnami a open-source softwarem. Tento přístup minimalizuje potřebu manuální a intelektuální práce a v konečném důsledku zvyšuje efektivitu. Dále se studenti také seznámí s nástroji pro vizuální prezentaci výsledků a dat prostřednictvím atraktivních diagramů, přesahujících technické výpočty.

Výstupy studia a kompetence:
 
Prerekvizity:

Základní porozumění matematice a fyzice na vysokoškolské úrovni spolu se schopnostmi analytického myšlení.

Obsah předmětu (anotace):

Tento kurz nabízí strukturovaný přístup k základům programování a jejich aplikacím v kontextu energetického inženýrství. První týdny se zaměřují na vytvoření pevných základů, seznámení studentů se základními koncepty programování a technikami zpracování dat. Jak kurz pokračuje, ponoříme se hlouběji do pokročilých funkcí programování, jako je ladění, protokolování a profilování. Zkoumá se využití standardních knihoven i knihoven třetích stran. Kromě toho kurz zdůrazňuje význam analýzy a prezentace dat a vysvětuje použití knihoven Python, jako jsou Numpy, Pandas a Plotly, což umožňuje vytvářet vizuálně přitažlivé a interaktivní grafy.

Dále se studenti seznámí se specializovanými nástroji jako FeniCSx, Coolprop a Xsteam, které jsou nezbytné pro řešení úkolů souvisejících s energií. Kurz uzavírá pokrytí optimalizačních technik, paralelního programování pro zpracování velkých objemů dat a komplexní kontrola úkolů, které studenti během semestru splnili, což nakonec vede k získání zápočtu.

Metody vyučování:
 
Způsob a kritéria hodnocení:

Pro udělení zápočtu je nutná pravidelná a aktivní účast ve cvičeních, dodání všech zadaných úkolů.

Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky:
 
Typ (způsob) výuky:
    Cvičení s počítačovou podporou  13 × 2 hod. nepovinná                  
Osnova:
    Cvičení s počítačovou podporou

1. týden - Úvod do programování 1 - Datové typy, Základní operace, Generické operace,


2. týden - Úvod do programování 2 - Flow control, Smyčky, Funkce, argumenty,


3. týden - Objekty, Dědičnost, Polymorfismus,


4. týden – Debugging, logging, profilling,


5. týden - Standartní knihovny Python, Moduly třetích stran, Importy,


6. týden - Práce se soubory, Textové a binární soubory,


7. týden - Arrays a Matrices, knihovna Numpy,


8. týden - Časové řady, Datová analýza, Pandas,


9. týden - Prezentace dat, Interaktivní grafy, Plotly, Dashboard,


10. týden - Vybrané knihovny pro Energitické inženýry, FeniCSx, Coolprop, Xsteam,


11. týden - Optimalizace, SciPy, PyTorch,


12. týden - Paralelní programování pro zpracování velkého objemu dat,


13. týden - Kontrola úkolů, Zápočet.

Literatura - základní:
1. STEINKAMP, V. Python for Engineering and Scientific Computing. Rheinwerk Computing, 2024.
2. FÜHRER, C.; SOLEM, J.E. a VERDIER, O. Scientific Computing with Python - Second Edition: High-performance scientific computing with NumPy, SciPy, and pandas. Packt Publishing, 2021.
Zařazení předmětu ve studijních programech:
Program Forma Obor Spec. Typ ukončení   Kredity     Povinnost     St.     Roč.     Semestr  
N-ETI-P prezenční studium ENI Energetické inženýrství -- 2 Povinný 2 1 L
C-AKR-P prezenční studium CLS Předměty letního semestru -- 2 Volitelný 1 1 L