示例#1
0
cxrs_file_name = 'cxrs1120907032.01010_v20140623'

# read EFIT file
psip_n, Rgrid, Zgrid, F, p, ffprime, pprime, psirz, qpsi, rmag, zmag, nw, psiax, psisep = read_EFIT_file_cmod(efit_file_name)
# calculate psip_n vs rhot_n
rho_tor_spl, rhot_n = calc_rho_tor(psip_n, psiax, psisep, qpsi, nw)
# calculate B_pol and B_tor at outboard midplane
psip_n_obmp, R_obmp, B_pol, B_tor = calc_B_fields(Rgrid, rmag, Zgrid, zmag, psirz, psiax, psisep, F,nw,psip_n)

psip_obmp = psip_n_obmp*(psisep-psiax)+psiax
rhot_n_obmp = rho_tor_spl(psip_obmp)

### read from p-file
### ne, ni are in the unit of 10^20 m^(-3)
### te, ti are in the unit of KeV
psi0, ne, te, ni, ti_pfile, nz_pfile=read_cmod_pfile(p_file_name,shift_Ti=False,shift_Te=False,add_impurity=True)

# convert into SI units
ne = ne*1E20
te = te*e*1E03
#ni = ni*1E20
#ti_pfile = ti_pfile*e*1E03
#nz_pfile = nz_pfile*1E20
# find ni,ti,ne,te,q on the grid of uniform psip_n at outboard midplane
rhot0=rho_tor_spl(psi0*(psisep-psiax)+psiax)

#ni_obmp = interp(psi0,ni,psip_n_obmp)
#ti_obmp = interp(psi0,ti,psip_n_obmp)
ne_obmp = interp(psi0,ne,psip_n_obmp)
te_obmp = interp(psi0,te,psip_n_obmp)
示例#2
0
plt.plot(rhot_n, p)
plt.ylabel('p')
plt.xlabel('rho_tor')
#x1,x2,y1,y2=plt.axis()
#plt.axis((0.945,1.0,y1,y2))
plt.show()

### calculate B_pol and B_tor at the outboard midplane (obmp)
psip_n_obmp, R_obmp, B_pol, B_tor = calc_B_fields(Rgrid, rmag, Zgrid, zmag,
                                                  psirz, psiax, psisep, F, nw,
                                                  psip_n)

psip_obmp = psip_n_obmp * (psisep - psiax) + psiax
rhot_n_obmp = rho_tor_spl(psip_obmp)

psi0, ne, te, ni, ti, nz = read_cmod_pfile(p_file_name)
ne = ne * 1E20
te = te * e * 1E03
ni = ni * 1E20
ti = ti * e * 1E03
nz = nz * 1E20

#plt.plot(psi0,te,'x',label='electron temp')
#plt.plot(psi0,ti,'r.',label='ion temp')
#plt.legend()
#plt.show()

rhot0 = rho_tor_spl(psi0 * (psisep - psiax) + psiax)

ni_obmp = interp(psi0, ni, psip_n_obmp)
ti_obmp = interp(psi0, ti, psip_n_obmp)
示例#3
0
    #plt.title(p_file_name)
    #plt.show()

    ### plot ni (m^(-3)) vs psip_ni
    plt.plot(psipni, ni, 'x', label='ni p-file')
    #plt.xlabel('psip_ni')
    #plt.ylabel('ni')
    plt.legend()
    plt.title('raw ' + p_file_name)
    x1, x2, y1, y2 = plt.axis()
    plt.axis((0.95, 1.0, y1, y2))
    plt.show()

### read pfile and calculate impurity density
if shift_Ti:
    psi0, ne, te, ni, ti, nz = read_cmod_pfile(p_file_name)
else:
    psi0, ne, te, ni, ti, nz = read_cmod_pfile(p_file_name,
                                               shift_Ti=True,
                                               shift_Te=True)

psip = psi0 * (psisep - psiax) + psiax
rhot0 = rho_tor_spl(psip)

### convert to SI units
ne = ne * 1E20
te = te * e * 1E03
ni = ni * 1E20
ti = ti * e * 1E03
nz = nz * 1E20
示例#4
0
psip_n, Rgrid, Zgrid, F, p, ffprime, pprime, psirz, qpsi, rmag, zmag, nw, psiax, psisep = read_EFIT_file(efit_file_name)

### find conversion relation from psi_pol to rhot_n
rho_tor_spl, rhot_n = calc_rho_tor(psip_n, psiax, psisep, qpsi, nw)

### calculate B_pol and B_tor at the outboard midplane (obmp) uniform R grid
psip_n_obmp, R_obmp, B_pol, B_tor = calc_B_fields(Rgrid, rmag, Zgrid, zmag, psirz, psiax, psisep, F,nw,psip_n)

psip_obmp = psip_n_obmp*(psisep-psiax)+psiax
rhot_n_obmp = rho_tor_spl(psip_obmp)

### read from p-file
### ne, ni are in the unit of 10^20 m^(-3)
### te, ti are in the unit of KeV
#psi0, ne, te, ni, ti, nz=read_cmod_pfile(p_file_name,shift=False)
psi0, ne, te, ni, ti, nz=read_cmod_pfile(p_file_name,shift_Ti=True,shift_Te=True)
ne = ne*1E20
te = te*e*1E03
ni = ni*1E20
ti = ti*e*1E03
nz = nz*1E20

rhot0=rho_tor_spl(psi0*(psisep-psiax)+psiax)

ni_obmp = interp(psi0,ni,psip_n_obmp)
ti_obmp = interp(psi0,ti,psip_n_obmp)
ne_obmp = interp(psi0,ne,psip_n_obmp)
te_obmp = interp(psi0,te,psip_n_obmp)

rhotp_obmp = interp(psi0,rhot0,psip_n_obmp)
q_obmp = interp(psip_n, qpsi, psip_n_obmp)
示例#5
0
psip_n, Rgrid, Zgrid, F, p, ffprime, pprime, psirz, qpsi, rmag, zmag, nw, psiax, psisep = read_EFIT_file(
    efit_file_name)

rho_tor_spl, rhot_n = calc_rho_tor(psip_n, psiax, psisep, qpsi, nw)

psip_n_obmp, R_obmp, B_pol, B_tor = calc_B_fields(Rgrid, rmag, Zgrid, zmag,
                                                  psirz, psiax, psisep, F, nw,
                                                  psip_n)

psip_obmp = psip_n_obmp * (psisep - psiax) + psiax
rhot_n_obmp = rho_tor_spl(psip_obmp)

p_obmp = interp(psip_n, p, psip_n_obmp)

if shift_Ti:
    psi0, ne, te, ni, ti, nz = read_cmod_pfile(p_file_name)
else:
    psi0, ne, te, ni, ti, nz = read_cmod_pfile(p_file_name,
                                               shift_Ti=False,
                                               shift_Te=False)

ne = ne * 1E20
te = te * e * 1E03
ni = ni * 1E20
ti = ti * e * 1E03
nz = nz * 1E20

rhot0 = rho_tor_spl(psi0 * (psisep - psiax) + psiax)

ni_obmp = interp(psi0, ni, psip_n_obmp)
ti_obmp = interp(psi0, ti, psip_n_obmp)
示例#6
0
from calc_gammaE import *
from read_Er import *

e = 1.6*10**(-19)
impurity_charge = 5.0

parser = op.OptionParser()
options,args = parser.parse_args()
efit_file_name = 'g1120907032.01012'
p_file_name = 'p1120907032.01012'

### read EFIT file
psip_n, Rgrid, Zgrid, F, p, ffprime, pprime, psirz, qpsi, rmag, zmag, nw,psiax,psisep = read_EFIT_file(efit_file_name)

#psi0, ne, te, ni, ti, nz=read_cmod_pfile(p_file_name,shift=True,add_impurity=True)
psi0, ne, te, ni, ti, nz=read_cmod_pfile(p_file_name,shift_Te=True,shift_Ti=True,add_impurity=True)
ne = ne*1E20
te = te*e*1E03
ni = ni*1E20
ti = ti*e*1E03
nz = nz*1E20

plt.plot(ti,te)
plt.show()

print "check quasineutrality:", max(abs(ne-(ni+impurity_charge*nz))/ne[0])
#plt.plot(psi0,(ni+impurity_charge*nz),'x',label='ni+z*nz')
#plt.plot(psi0,ne,'r.',label='ne')
#plt.legend()
#plt.show()
示例#7
0
#plt.show()

### calculate B_pol and B_tor at the outboard midplane (obmp) uniform R grid
psip_n_obmp, R_obmp, B_pol, B_tor = calc_B_fields(Rgrid, rmag, Zgrid, zmag, psirz, psiax, psisep, F,nw,psip_n)

psip_obmp = psip_n_obmp*(psisep-psiax)+psiax
rhot_n_obmp = rho_tor_spl(psip_obmp)

#plt.plot(psip_n_obmp,rhot_n_obmp,'x')
#plt.plot(psip_n,rhot_n,'r.')
#plt.show()

### read from p-file
### ne, ni are in the unit of 10^20 m^(-3)
### te, ti are in the unit of KeV
psi0, ne, te, ni, ti, nz=read_cmod_pfile(p_file_name)
ne = ne*1E20
te = te*e*1E03
ni = ni*1E20
ti = ti*e*1E03
nz = nz*1E20

##plt.plot(psi0,te,'x',label='electron temp')
##plt.plot(psi0,ti,'r.',label='ion temp')
##plt.legend()
##plt.show()

rhot0=rho_tor_spl(psi0*(psisep-psiax)+psiax)

ni_obmp = interp(psi0,ni,psip_n_obmp)
ti_obmp = interp(psi0,ti,psip_n_obmp)
示例#8
0
plot_lingr = options.plot_lingr
test_calc = options.test_calc

psip_n, Rgrid, Zgrid, F, p, ffprime, pprime, psirz, qpsi, rmag, zmag, nw, psiax,psisep = read_EFIT_file(efit_file_name)

rho_tor_spl, rhot_n = calc_rho_tor(psip_n, psiax, psisep, qpsi, nw)

psip_n_obmp, R_obmp, B_pol, B_tor = calc_B_fields(Rgrid, rmag, Zgrid, zmag, psirz, psiax, psisep, F,nw,psip_n)

psip_obmp = psip_n_obmp*(psisep-psiax)+psiax
rhot_n_obmp = rho_tor_spl(psip_obmp)

p_obmp = interp(psip_n,p,psip_n_obmp)

if shift_Ti :
    psi0, ne, te, ni, ti, nz=read_cmod_pfile(p_file_name)
else:
    psi0, ne, te, ni, ti, nz=read_cmod_pfile(p_file_name,shift_Ti=False,shift_Te=False)

ne = ne*1E20
te = te*e*1E03
ni = ni*1E20
ti = ti*e*1E03
nz = nz*1E20

rhot0=rho_tor_spl(psi0*(psisep-psiax)+psiax)

ni_obmp = interp(psi0,ni,psip_n_obmp)
ti_obmp = interp(psi0,ti,psip_n_obmp)
ne_obmp = interp(psi0,ne,psip_n_obmp)
te_obmp = interp(psi0,te,psip_n_obmp)