Events/Hackathon/24Decin/index
- Hackathon ML/AI 2024 - soutěžní téma na tokamaku GOLEM
- Výroba energie
- Termonukleární fúze
- Vize budoucího fúzního reaktoru
- Tokamaky
- Tokamak GOLEM
- Elektrické pole \(E_t\) je důležitá komponenta tokamakové technologie GOLEMa
- Nějak to musíme diagnostifikovat. \(U_{Loop}\) reflektuje Elektrické pole \(E_t\)
- Basic diagnostics @ Shot homepage
- Hackathon ML/AI 2024 - soutěžní téma na tokamaku GOLEM
- Databáze výbojů na tokamaku GOLEM
- Různé režimy výboje
- Úkol: připravit otagování dostupných výbojů
- Poznámky
- Děkujeme za pozornost a budeme se těšit na výsledky.
Hackathon ML/AI 2024 - soutěžní téma na tokamaku GOLEM
Výroba energie
Co takhle jako zdroj tepla “malá hvězda”?
Termonukleární fúze
Zdrojem energie hvězd a samozřejmě i Slunce je Termonukleární fúze.
Vize budoucího fúzního reaktoru
Vize budoucího fúzního reaktoru @ Wiki
Tokamaky
Tokamak GOLEM
Tokamak GOLEM je malé studijní zařízení na Jaderné fakultě ČVUT.
Elektrické pole \(E_t\) je důležitá komponenta tokamakové technologie GOLEMa
Nějak to musíme diagnostifikovat. \(U_{Loop}\) reflektuje Elektrické pole \(E_t\)
Basic diagnostics @ Shot homepage
Hackathon ML/AI 2024 - soutěžní téma na tokamaku GOLEM
Databáze výbojů na tokamaku GOLEM
V historii tokamaku GOLEM od 8.7.2009 do řijna 2024 bylo provedeno více než 46500 výbojů. Standardní cesta k záznamu o nastavení a vysledcích jednotlivého výboje je přes adresu http://golem.fjfi.cvut.cz/shots/ShotNumber. Třeba http://golem.fjfi.cvut.cz/shots/39187 . Uložení dat a cesta k nim se však s vývojem značně měnila, tak pro požadavky Hackathonu jsme sjednotili přístup pro \(U_Loop\) csv formátovaným datům (čas [ms], napětí [V]) přes adresu http://golem.fjfi.cvut.cz/discharges/ShotNumber/Diagnostics/BasicDiagnostics/U_Loop.csv. Zde ShotNumber je číslo výboje.
K dispozici jsou dvě vlny rozumně zpracovatelných výbojů
- (10600 < ShotNumber < 31150 ), kde by mělo být více než 15000 úspěšných výbojů
- (36247 < ShotNumber < 45206 ), kde by mělo být více než 5500 úspěšných výbojů
Příkaz: SELECT “ShotNo” FROM diagnostics.plasmadetection WHERE tag_valid = TRUE AND “b_Plasma” = ‘1’ dává 16831 výbojů z databáze k vaší analýze.
K dispozici máte tyto údaje
- Naše vyhodnocení, zda došlo k úspěšnému provedení plazmatického výboje ve formátu https://golem.fjfi.cvut.cz/getData.php?schema=diagnostics&table=plasmadetection&column=b_Plasma&ShotNo=ShotNumber. Třeba pro výboj #39187 . Možné hodnoty 1: šlo o výboj, 0: výboj se nezapálil (tyto výboje vás tedy vůbec nezajímají).
- Naše vyhodnocení, zda došlo k úspěšné analýze začátku a konce plazmatického výboje ve formátu https://golem.fjfi.cvut.cz/getData.php?schema=diagnostics&table=plasmadetection&column=tag_valid&ShotNo=ShotNumber. Třeba pro výboj #39187 . Možné hodnoty 1: zřejmě je to spočítáno dobře, 0 anebo žádná hodnota: něco s výpočtem není v pořádku (tyto výboje vás tedy vůbec nezajímají).
- Začátek výboje v milisekundách ve formátu https://golem.fjfi.cvut.cz/getData.php?schema=diagnostics&table=plasmadetection&column=t_Plasma__start&ShotNo=ShotNumber. Třeba pro výboj #39187.
- Konec výboje v milisekundách ve formátu https://golem.fjfi.cvut.cz/getData.php?schema=diagnostics&table=plasmadetection&column=t_Plasma__end&ShotNo=ShotNumber. Třeba pro výboj #39187.
- Dobu výboje v milisekundách ve formátu https://golem.fjfi.cvut.cz/getData.php?schema=diagnostics&table=plasmadetection&column=t_Plasma__duration&ShotNo=ShotNumber. Třeba pro výboj #39187.
- Již zmíněná cesta k časovému vývoji \(U_l\): http://golem.fjfi.cvut.cz/discharges/ShotNumber/Diagnostics/BasicDiagnostics/U_Loop.csv**. Třeba pro výboj #39187.
Třeba pro výboj číslo #39187:
Kód v pythonu:
mport numpy as np
import matplotlib.pyplot as plt
import requests
shot_no=39187
data = np.loadtxt("http://golem.fjfi.cvut.cz/discharges/" + str(shot_no) + "/Diagnostics/BasicDiagnostics/U_Loop.csv",delimiter=",")
plasma_start=np.float64(requests.get("https://golem.fjfi.cvut.cz/getData.php?schema=diagnostics&table=plasmadetection&column=t_Plasma__start&ShotNo="+ str(shot_no)).text.strip())
plasma_end=np.float64(requests.get("https://golem.fjfi.cvut.cz/getData.php?schema=diagnostics&table=plasmadetection&column=t_Plasma__end&ShotNo="+ str(shot_no)).text.strip())
plt.plot(data[:,0], data[:,1]) #1. column vs 2. column
plt.title('#'+str(shot_no))
plt.xlabel('Time [ms]');plt.ylabel('$U_{Loop}$ [V]');
plt.axvline(x=plasma_start, color='black', linestyle='--');
plt.axvline(x=plasma_end, color='black', linestyle='--');
plt.savefig('U_Loop-'+str(shot_no)+'.jpg')
plt.show()
Výsledek:
Různé režimy výboje
V historii tokamaku GOLEM jsme zaznamenali různé režimy. V následující tabulce jsou uvedeny příklady: (prosím pozor, v případě, že nevidíte ikony, zaměňte v adrese https za http)
Režim | Číslo výboje | Graf | Cesta k datům | Další příklady |
---|---|---|---|---|
Výboj se vůbec nezapálil (nedošlo k průrazu) Tento typ výbojů vás vůbec nezajímá. Tag b_Plasma=0 |
#39160 | |||
Standardní (jednoduchý průraz) Tag b_Plasma=1 & tag tag_valid=1 Výboj z první vlny |
#12529 | \(U_{loop}\) | Standard discharges | |
Standardní (jednoduchý průraz) Tag b_Plasma=1 & tag tag_valid=1 Výboj z druhé vlny |
#39187 | \(U_{loop}\) | Standard discharges | |
Nestandardní (dvojitý průraz) Tag b_Plasma=1 & tag tag_valid=1 |
#44914 | \(U_{loop}\) | Double breakdown examples + z dávné historie | |
Nestandardní (trojitý průraz) Tag b_Plasma=1 & tag tag_valid=1 |
#41642 | \(U_{loop}\) | Tripple breakdown examples + z dávné historie | |
Nestandardní (několikanásobný průraz) Tag b_Plasma=1 & tag tag_valid=1 |
#44625 | \(U_{loop}\) | Multiple breakdown examples | |
Fail (chyba diagnostiky) Tag b_Plasma=1 & tag tag_valid=0 Tyto výboje vás nezajímají |
#19850 |
Náhodných 100 výbojů s klasifikací
Úkol: připravit otagování dostupných výbojů
- Sestavit csv tabulku pro výboje splňující podmínku “b_Plasma=1 & tag_valid=1” se třemi sloupci: ShotNumber, Tag, comment . Tag bude nabývat hodnot
- ‘singl’ pro normální výboj s jednoduchým průrazem
- ‘dbl’ pro dvojitý průraz
- ‘trp’ pro trojitý průraz
- ‘mlt’ pro vícenásobný průraz
- ‘fail-tG’ pro všeliké problémy na straně databáze tokamaku GOLEM
- ‘fail-us’ pro všeliké selhání vašeho algoritmu
Do sloupce “comment” zadejte důvody aplikace Tagu fail-tG či fail-us
- Připravit web stránku s výsledky (homepage reportu), která bude obsahovat
- Popis použité metody
- Výsledky ve formě znázornění po 20 grafech pro jednotlivé režimy vybraných výbojů podle náhodného generátoru. Při refresh stránky se musí náhodný generátor přepočítat a ukázat jinou sadu výbojů.
- Odkazy na Jupyter notebooks, které byly pro řešení použity.
- Náhodný čtenář reportu musí mít možnost stáhnout si všechny použité nástroje a data k sobě na počítač a spustit si na něm po nějaké základní instalaci programů a příslušných knihoven vše potřebné a dostat se ke stejným výsledkům.
Poznámky
- Upozorňujeme, že si zdaleka nejsme jistí, jestli u všech výbojů pro zpracování jsou ty tagy “tag_valid” a “b_Plasma” správně.
- Pokud během soutěže selže náš server, tak má vedoucí k dispozici zip soubor se všemi csv soubory \(U_{Loop}\) a dump databaze, kde jsou k dispozici všechny potřebné tagy a hodnoty, které získáváte přes funkci https://golem.fjfi.cvut.cz/getData.php . Cesta k backup je zde
- Technický support (datové záležitosti) bude k dispozici v pátek od 19:00 do 20:00 a v sobotu od 10:00 do 11:00 na čísle 732269781 (Šimon Svoboda)