# coding: utf-8
# In[1]:
import numpy as np
import matplotlib.pyplot as plt
import urllib.request as urllib
import scipy.signal as scisig
import matplotlib.colors as colors
import scipy as sp
import matplotlib.patches as mpatches
import math
from scipy import interpolate
def get_preassure_gas(shot):
url_press = 'http://golem.fjfi.cvut.cz/utils/data/'+ str(shot) +'/pressure'
file_press = urllib.urlopen(url_press).read()
press = float(file_press)
return press
def get_mag_field(shot):
url_press = 'http://golem.fjfi.cvut.cz/utils/data/'+ str(shot) +'/toroidal_field_mean'
file_press = urllib.urlopen(url_press).read()
press = float(file_press)
return press
def get_mag_max(shot):
url_press = 'http://golem.fjfi.cvut.cz/utils/data/'+ str(shot) +'/toroidal_field_max'
file_press = urllib.urlopen(url_press).read()
press = float(file_press)
return press
def get_int_hxr(shot):
url_start = 'http://golem.fjfi.cvut.cz/utils/data/'+ str(shot) +'/plasma_start'
url_end = 'http://golem.fjfi.cvut.cz/utils/data/'+ str(shot) +'/plasma_end'
url_hxr = 'http://golem.fjfi.cvut.cz/utils/data/'+ str(shot) +'/hxr.txt'
file_start = urllib.urlopen(url_start).read()
file_end = urllib.urlopen(url_end).read()
file_hxr = urllib.urlopen(url_hxr)
data_hxr = np.loadtxt(file_hxr)
data_hxr_list = data_hxr[:,0].tolist()
index1 = data_hxr_list.index(float(file_start))
index2 = data_hxr_list.index(float(file_end))
int_hxr = sp.integrate.cumtrapz(data_hxr[index1:index2,1],data_hxr[index1:index2,0],initial=0)
value_int = float(np.amax(int_hxr))
return value_int
def get_uloop_breakdown(shot):
url_voltage = 'http://golem.fjfi.cvut.cz/utils/data/'+ str(shot) +'/breakdown_voltage'
file_voltage = urllib.urlopen(url_voltage).read()
mean_voltage = float(file_voltage)
return mean_voltage
def get_uloop_mean(shot):
url_voltage = 'http://golem.fjfi.cvut.cz/utils/data/'+ str(shot) +'/loop_voltage_mean'
file_voltage = urllib.urlopen(url_voltage).read()
mean_voltage = float(file_voltage)
return mean_voltage
def get_density_mean(shot):
url_den = 'http://golem.fjfi.cvut.cz/utils/data/'+ str(shot) +'/electron_density_mean'
file_den = urllib.urlopen(url_den).read()
mean_density = float(file_den)
return mean_density
def mirnov_magnitude_osc(shot):
url_mirnov = 'http://golem.fjfi.cvut.cz/utils/data/'+ str(shot) +'/ch1'
url_start = 'http://golem.fjfi.cvut.cz/utils/data/'+ str(shot) +'/plasma_start'
url_end = 'http://golem.fjfi.cvut.cz/utils/data/'+ str(shot) +'/plasma_end'
file_start = urllib.urlopen(url_start).read()
file_end = urllib.urlopen(url_end).read()
file_mirnov = urllib.urlopen(url_mirnov)
datget_preassure_gasa_mirnov = np.loadtxt(file_mirnov)
data_mirnov_list = data_mirnov[:,0].tolist()
index1 = data_mirnov_list.index(float(file_start))
index2 = data_mirnov_list.index(float(file_end))
data_mirnov2 = np.power(data_mirnov[index1:index2,1],2)
int_mirnov = sp.integrate.cumtrapz(data_mirnov2,data_mirnov[index1:index2,0],initial=0)
value_oscilation = float(np.amax(int_mirnov))/(float(file_end)-float(file_start))
return value_oscilation
def hxr_statistics_density(shots):
for i in range(0,len(shots)):
x = get_density_mean(shots[i])
y = get_int_hxr(shots[i])
plt.plot(x,y,'bo')
plt.annotate(str(shots[i]),xy=(x+0.05,y+0.0000025))
plt.xlabel('$n_e$ [m$^{-3}$]')
plt.ylabel('HXR [a.u.]')
plt.title('Závislost HXR na $n_e$')
fig = plt.gcf()
fig.set_size_inches(12,8)
fig.savefig('sken_HXR_ne_after.png',dpi=300)
plt.show()
def hxr_statistics_preassure(shots):
hxr = []
press = []
for i in range(0,len(shots)):
x = get_preassure_gas(shots[i])
y = get_int_hxr(shots[i])
hxr.append(x)
press.append(y)
plt.plot(x,y,'bo')
plt.annotate(str(shots[i]),xy=(x+0.05,y+0.0000025))
plt.xlabel('p [Pa]')
plt.ylabel('HXR [a.u.]')
plt.title('Závislost HXR na $n_e$')
fig = plt.gcf()
fig.set_size_inches(12,8)
fig.savefig('sken_HXR_ne_after.png',dpi=300)
plt.show()
return hxr,press
def hxr_statistic(shots):
hxr_mean = []
hxr_int = []
preassure = []
loop_mean = []
break_loop = []
field_max = []
field_mean = []
for i in range(0,len(shots)):
url_life = 'http://golem.fjfi.cvut.cz/utils/data/'+ str(shots[i]) + '/plasma_life'
url_hxr_mean = 'http://golem.fjfi.cvut.cz/utils/data/' + str(shots[i]) + '/hxr_mean'
mean = float(urllib.urlopen(url_hxr_mean).read())
inthxr = float(urllib.urlopen(url_life).read())*mean
hxr_mean.append(mean)
hxr_int.append(inthxr)
preassure.append(get_preassure_gas(shots[i]))
loop_mean.append(get_uloop_mean(shots[i]))
break_loop.append(get_uloop_breakdown(shots[i]))
field_max.append(get_mag_max(shots[i]))
field_mean.append(get_mag_field(shots[i]))
return hxr_mean, hxr_int, preassure, loop_mean, break_loop, field_max, field_mean
shots_list = [23511,23512,23513,23514,23515]
hxr_mean, hxr_int, preassure, loop_mean, break_loop, field_max, field_mean = hxr_statistic(shots_list)
#
plt.plot(preassure,hxr_mean,'o',markersize=10)
plt.xlabel('$p_{wg} \ [\mathrm{mPa}]$',fontsize=22)
plt.ylabel('$HXR_{mean} \ [\mathrm{a.u.}]$',fontsize=22)
plt.tight_layout(pad=0.1,w_pad=0.1,h_pad=0.1)
plt.show()
# In[ ]: