Revision 82dd582045b2ec890b46e78d5419389be4916146 (click the page title to view the current version)

TrainingCourses/FTTF/2020-2021/MatejIv/index

Changes from beginning to 82dd582045b2ec890b46e78d5419389be4916146

---
format:markdown
...

#Měření propagace MHD jevů na tokamaku GOLEM


## Záměr
(motivace, rešerše, teorie, experimentální uspořádání, záměr, a časový plán)
Výskyt magnetických ostrovů ve fúzním výboji s sebou přináší mnohé komplikace v oblasti magnetického udržení plazmatu.
Proto je dobré vznik, existenci a vývoj těchto magnetohydrodynamických jevů zkoumat a pochopit. Tento projekt si
klade za cíl právě takové pozorování. Účelem projektu je detekovat existenci magnetických ostrovů v tokamaku GOLEM na třech
různých místech a z těchto údajů poté usuzovat na jejich propagaci komorou tokamaku. Pravdivost měření pak budu porovnávat
s teoretickými závěry o magnetických ostrovech, konkrétně s jejich stáčením v důsledku helicity magnetického pole.
Měření propagace magnetických ostrovů cheme dosáhnout tak, že se pokusíme je detekovat na 3 místech komory tokamaky a
pozorovat, zda se magnetický ostrov opravdu přesunul. Pro detekci použijeme soustavu 4 Mirnovových cívek , MHD ring opatřený
16 Mirnovovými cívkami a později i vlastní senzor umístěný na nově instalovaném manipulátoru. Hlavní výhodou těchto senzorů
je jejich umístění. Jsou totiž navzájem o 45$^{\circ}$ posunuté, tudíž budeme schopni mapovat 90$^{\circ}$ z celé komory
tokamaku.

![](/TrainingCourses/FTTF/2020-2021/MatejIv/setup.png)

Předpokládané roznístění sond pro detekci propagace magnetických ostrovů.

### Magnetohydrodynamické (MHD) jevy
Magnetohydrodynamika je způsob popisu plazmatu jakožto kontinua. Pokud rovnice magnetohydrodynamiky zkombinujeme s rovnicemi
Maxwellovými, můžeme pak plazma popisovat jako vodivou tekutinu s dominantním magnetickým polem. Pro naše účely budeme
uvažovat rezistivní variantu magnetohydrodynamiky, což znamená, že plazma má konečnou vodivost $\sigma$. V takovém případě
můžeme odvodit rovnici pro magnetické pole v plazmatu. Budeme vycházet z Maxwellových rovnic:
$$
\mathrm{rot}\textbf{E}=-\frac{\partial\textbf{B}}{\partial t}
$$

$$
\mathrm{rot}\textbf{B}=\mu\textbf{j}
$$

$$
\mathrm{div}\textbf{B}=0
$$

$$
\mathrm{div}\textbf{E}=\frac{\rho}{\varepsilon}
$$

a Ohmova zákona pro rezistivní magnetohydrodynamiku:

$$
\textbf{j}=\sigma(\textbf{E}+\textbf{u}\times\textbf{B})
$$

Řešením těchto rovnic lze dospět k rovnici časového vývoje magnetického pole, jež má tvar:
$$
\frac{\partial\textbf{B}}{\partial t}=\frac{1}{\sigma\mu}\nabla^2\textbf{B} + \mathrm{rot})(\textbf{u}\times\textbf{B})
$$

První člen na pravé straně této rovnice se nazývá \textit{difúzní} a druhý člen se nazývá \textit{člen zamrzání}.
Právě difúzní člen může za to, že v plazmatu existují magnetické ostrovy. Ty totiž vznikají v situaci, kdy je poloidální
magnetické pole perturbováno do té míry, kdy je pro něj výhodné podstoupit rekonekci magnetických indukčních čar. Toto
se nemůže dít v dokonale vodivém plazmatu, do kterého je magnetické pole vmrzlé a plazma mu nedovolí podstoupit rekonekci.

Asi nejzávažnějším problémem magnetických ostrovů je, že zhoršují účinnost magnetického udržení plazmatu. Pro magnetické
udržení je třeba vytvořit gradient tlaku $\nabla p$ způsobem
$$
\nabla p = \textbf{j}\times\textbf{B}
$$
Na stejném magnetickém povrchu, kde je tlak konstantní, je však $\nabla p = 0$. A magnetické ostrovy rekonekcí magnetických indukčních
čar právě tvoří oblasti konstantního tlaku v radiálním směru. Dochází tak k jakémusi zkratu magnetického udržení, čímž
dochází ke snížení efektivní plochy plazmatu. Podobný jev nastane, když se magnetické ostrovy překryjí. Indukční čáry
magnetického pole pak dostanou stochastický charakter, což taktéž vede ke zhoršení kvality magnetického udržení.

Toto jsou velmi závažné důvody, proč je třeba magnetické ostrovy detekovat a brát je při fúzních výbojích v potaz.

###Metoda měření
Pro měření magnetického pole budeme používat indukční senzory. Jak již název napovídá, tyto senzory ke svému fungování
využívají jev elektromagnetické indukce. V našem případě budeme využívat cívky, jejichž princip fungování
můžeme popsat matematicky následovně:
$$
\mathrm{rot}\textbf{E} = -\frac{\partial\textbf{B}}{\partial t}
$$

$$
\int_S\mathrm{rot}\textbf{E}\mathrm{d}\textbf{S} = -\int_S\frac{\partial\textbf{B}}{\partial t}\mathrm{d}\textbf{S}
$$

$$
\oint_{\partial S}\textbf{E}\mathrm{d}\textbf{l} = -\frac{\partial \Phi}{\partial t}
$$

$$
U_{ind} = -S\frac{\partial B}{\partial t}
$$

Z odvození vidíme, že cívky dokážou měřit změnu magnetického pole, které jimi projde a interpretovat jej ve formě
indukovaného napětí. V reálném případě má cívka více ($N$) závitů, tudíž vztah poté vypadá následovně:

$$
U_{ind} = -NS\frac{\partial B}{\partial t} = -A_{eff}\frac{\partial B}{\partial t}
$$
Signál z cívky musíme integrovat, abycho získali informaci o samotném magnetickém poli, tedy
$$
B(t) = \frac{\Pi}{A_{eff}}\int_0^tU_{ind}(\tau)\mathrm{d}\tau
$$
Signál z měření však ještě bývá zatížen jistým offsetem. Ten je třeba před dalším zpracováním dat odstranit a integrál pak má
tvar:
$$
B(t) = \frac{\Pi}{A_{eff}}\int_0^tU_{ind}-U_{offset}(\tau)\mathrm{d}\tau
$$
Parametr $\Pi$ před integrálem označuje polaritu cívky a nabývá hodnot 1 nebo -1. 

###Způsob detekce magnetických ostrovů
Magnetické ostrovy na tokamaku GOLEM budeme detekovat pomocí tří sond. V současné době používám pouze MHD ring s 16 poloidálními
cívkami. V dohledné době pak přibude ještě detekce pomocí 4 Mirnovových cívek primárně používaných pro určení polohy plazmatu,
později pak i pomocí vlastní sondy.

![](/TrainingCourses/FTTF/2020-2021/MatejIv/probes.png)

Design sond, jež budou použity pro detekci magnetických ostrovů. Dostupné z [3].

Postup pro detekci magnetických ostrovů nejdříve zapíšeme v osnově:

1) Získání dat z jednotlivých cívek MHD ringu z webu pomocí skritpu $\href{http://golem.fjfi.cvut.cz/wiki/SW/pygolem/golem_data.m}{\mathrm{golem\_data.m}}$
2) Zpracování dat; odstranění offsetu, numerická integrace, restrikce dat na zajímavou oblast, bandpass filter
3) Soupis upravených dat z jednotlivých cívek MHD ringu do matice
4) Vykreslení perturbací magnetického pole, výpočet korelačních koeficientů, vykreslení korelačních koeficientů	
5) Manuální detekce magnetických ostrovů z mapy korelačních koeficientů 

V následující sekci jsou uvedeny výpočetní skripty pro jednotlivé kroky (kromě kroku 1; v tomto případě je skript dostupný 
$\href{http://golem.fjfi.cvut.cz/wiki/SW/pygolem/golem_data.m}{\mathrm{zde}}$.

2) Data processing:

	~~~
	function out = dataProc(v, AEff, pol)

	% calculate offset from first 5 ms and subtract it
	stop=find(v(:,1)==0.005);
	av = mean(v(1:stop));
	vNoOffSet = v-av;

	% integrate signal and account for polarity of the coil and its effective
	% area
	outInt = pol*(cumtrapz(vNoOffSet(:,1),vNoOffSet(:,2)))/AEff;

	% crop the signal to restrict it to the range of interest 
	outIntCropped=outInt(18201:18901);

	% apply bandpass filter in a desired frequency range (in Hz)
	% fs represents sampling rate (# of samples taken in 1 s)
	fs=1e6;
	out = bandpass(outIntCropped,[5000 30000],fs);

	end
	~~~
	

3) Soupis dat do matice:

	~~~
	function finalTransp = getMirnovData(numberShot)

	% Effective areas of MHD ring coils in m^2
	AEff = [ 68.93e-4, 140.68e-4, 138.83e-4, 140.43e-4, 68.59e-4, 134.47e-4 ,134.28e-4, 142.46e-4, 67.62e-4, 142.80e-4, 140.43e-4, 138.02e-4, 76.32e-4, 142.18e-4, 139.82e-4, 139.33e-4];

	% polarities of the coils
	pol = [-1 ,-1 ,1 ,1 ,-1 ,1 ,-1 ,1 ,-1 ,1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1];

	% definition of the matrix; first index to indicate the number of time
	% steps in the desired time range specified in data processing part; second
	% index is the number of coils
	final = zeros([701,16]) ;

	% filling the matrix with values
	for ring = 1:11
		[ t , v ] = golem_data ( numberShot , [ 'ring_' num2str( ring ) ] ) ;
		final(:,ring+2) = dataProc( v , AEff (ring) , pol(ring) ) ;
	end

	for ring = 15:16
		[ t , v ] = golem_data ( numberShot , [ 'ring_' num2str(ring) ] ) ;
		final (:,ring-14) = dataProc ( v , AEff ( ring ) , pol ( ring ) ) ;
	end
	% note that the script skips coils 14-16

	% transposing the matrix to make further computations easier
	finalTransp = final' ;

	end
	~~~
	

4) Vykreslení perturbací a corelačních koefficientů:

	~~~
	% Choose the discharge number
	numberShot = 11364;

	% Specify the timewindow 
	timeWindow = linspace(18201,18901,501);

	%Specify the angle window
	angleWindow = linspace(-1,14,16);

	% Begin acquiring the data
	initial = getMirnovData(numberShot);

	% Meshgrid creates coordinates system with dimensions specified earlier
	[X_1,Y_1] = meshgrid(angleWindow.*22.5', timeWindow./1e6);

	% This part specifies the value range (if white spots appear on plot, value
	% overflow occured, you should chose a wider range); last number defines
	% the number of levels displayed (the bigger the number, the more cluttered
	% the plot)
	levels_1 = linspace( -9e-4,9e-4,15);

	% Plot of the perturbation of poloidal field itself
	figure;contourf(Y_1.', X_1.', initial(:,1:length(timeWindow)), levels_1);
	xlabel('Čas t [ s ]') ;
	ylabel('Poloidální úhel \Theta [ {\circ} ]') ;
	title('Perturbace poloidálního magnetického pole B_{\Theta} [T]');

	% That nice bar on the right of the picture to display the values
	colorbar;

	% Color-coding of preference
	colormap('turbo');

	% Bunch of definitions for the correlation computations
	[rn,~] = size( initial );
	twi = round (timeWindow);
	tws = length( twi );

	% Definition of the matrix to be filled in with correlation soefficients
	final = zeros(rn , 2*tws-1);

	% Choose the referential coil
	ref = initial (7, (1:length(twi)));

	% Correlation coefficients computation
	for i = 1 : rn
		final ( i , : ) = xcorr (initial ( i , (1:length(twi)) ) , ref , 'coeff' ) ;
	end

	% Same scenarion of plotting as above

	[X,Y] = meshgrid (22.5*(-1:14)',((-tws+1):( tws-1))./10e6) ;
	levels = linspace( -1,1,20);
	figure; contourf(Y' ,X' , final , levels) ;
	colormap('turbo');
	xlabel('Lag [ s ]') ;
	ylabel('Poloidální úhel \Theta [{\circ}]') ;
	title('Korelační koeficienty ve vztahu k cívce č. 7 [-]');
	colorbar;
	~~~

###Testování funkčnosti skriptů

Pomocí výše zmíněných skriptů jsem se pokusil replikovat již dříve zpracované korelační koeficienty z [1] a [2].
Výsledky jsou na následujících grafech


===================================================== SHOT #11364 =====================================================


![](/TrainingCourses/FTTF/2020-2021/MatejIv/index11364per_their.png)

Perturbace poloidálního magnetického pole $B_{\Theta}$ při výboji #11364. Dostupné z [1].

![](/TrainingCourses/FTTF/2020-2021/MatejIv/index11364per_mine.png)

Perturbace poloidálního magnetického pole $B_{\Theta}$ při výboji #11364 vypočítané pomocí skriptu výše.

![](/TrainingCourses/FTTF/2020-2021/MatejIv/index/11364cor_their.png)

Korelační koeficienty perturbací při výboji #11364. Dostupné z [1].

![](/TrainingCourses/FTTF/2020-2021/MatejIv/index/11364cor_mine.png)

Korelační koeficienty perturbací při výboji #11364 vypočítané pomocí skriptu výše.

===================================================== SHOT #11767 =====================================================

![](/TrainingCourses/FTTF/2020-2021/MatejIv/index/11767per_their.png)

Perturbace poloidálního magnetického pole $B_{\Theta}$ při výboji #11767. Dostupné z [2].

![](/TrainingCourses/FTTF/2020-2021/MatejIv/index/11767per_mine.png)

Perturbace poloidálního magnetického pole $B_{\Theta}$ při výboji #11767 vypočítané pomocí skriptu výše.

![](/TrainingCourses/FTTF/2020-2021/MatejIv/index11767cor_their.png)

Korelační koeficienty perturbací při výboji #11767. Dostupné z [2].

![](/TrainingCourses/FTTF/2020-2021/MatejIv/index11767cor_mine.png)

Korelační koeficienty perturbací při výboji #11767 vypočítané pomocí skriptu výše.

## Logbook 
(záznamy o uskutečněných měřeních. Datum, čísla výbojů, záměry, "minutes of the experiment"  )

## Report v poločase

## Závěrečný report (třeba dle [IMRAD stylu](https://en.wikipedia.org/wiki/IMRAD) )
(nejhodnotnější část práce)

## Co dál (pro následovatele)

## Reference
[1] MARKOVIČ, Tomáš. Measurement of Magnetic Fields on GOLEM Tokamak [online]. Praha, 2012 [cit. 2021-01-09]. Dostupné z: $\href{http://golem.fjfi.cvut.cz/wiki/Library/GOLEM/MastThesis/12MarkovicTomas.pdf}{\mathrm{http://golem.fjfi.cvut.cz/wiki/Library/GOLEM/MastThesis/12MarkovicTomas.pdf}}$. Diplomová práce. FJFI ČVUT.

[2] OSTYN, F. Plasma MHD Activity Observations via Magnetic Diagnostics. [online]. Praha, 2013 [cit. 2021-01-09]. Dostupné z: $\href{http://golem.fjfi.cvut.cz/wiki/Diagnostics/Magnetic/MHDringThomas/Intro/elmo_final.pdf}{\mathrm{http://golem.fjfi.cvut.cz/wiki/Diagnostics/Magnetic/MHDringThomas/Intro/elmo\_final.pdf}}$. FJFI ČVUT.

[3] golem.fjfi.cvut.cz/wiki/ (to be done)







Pozn: na Golem wiki musí být k dispozici všechny použité materiály pro tvorbu reportu tak, aby vaši následovníci mohli jednoduše zreprodukovat všechny vaše analýzy. Skripty, tabulky v Excelu atp.