示例#1
0
def group_velocity(soln):

    coils = np.array([-0.63, 0.63])
    p = Plasma(0.3, coils)

    for i in range(0, 582):
        #soln[:,1].size,10):

        print i
        z = soln[i, 0]
        x = soln[i, 1]
        #p = Plasma(1)
        X = p.X([z, x])

        Y = p.Yabs([z, x])
        gamma = p.gamma(1)
        Nz = soln[i, 2]
        Nx = soln[i, 3]

        localN = Local_N(p.Yvec([z, x]), p.gradY([z, x]), np.array([Nz, Nx]))

        dNz_dN = localN.dNz_dN()
        dNx_dN = localN.dNx_dN()
        localNz = localN.Nz()
        localNx = localN.Nx()
        vgz.append((dD_dN(X, Y, gamma, localNz, localNx, dNz_dN, dNx_dN)[0] /
                    dD_dw(X, Y, gamma, localNz, localNx)))
        vgx.append((dD_dN(X, Y, gamma, localNz, localNx, dNz_dN, dNx_dN)[1] /
                    dD_dw(X, Y, gamma, localNz, localNx)))
        lNz.append(localN.Nz())
        #print z,x,X,Y,Nz,Nx#dD_dN( X,Y,gamma,localNz,localNx,dNz_dN,dNx_dN   )[0] , dD_dw(  X,Y,gamma,localNz,localNx   )
    return np.array(vgz), np.array(vgx)
示例#2
0
文件: plotX.py 项目: KirillPlasma/RiP
p = Plasma(a, coils)

plotX = np.zeros((500, 500))
plotY = np.zeros((500, 500))
plotYx = np.zeros((500, 500))
plotYz = np.zeros((500, 500))
plotFlux = np.zeros((500, 500))

i = 0

for z in np.linspace(-0.63, 0.63, 500):
    j = 0
    for x in np.linspace(-0.38, 0.38, 500):

        plotX[i, j] = p.X(np.array([z, x]))
        plotY[i, j] = p.Yabs(np.array([z, x]))
        plotYx[i, j] = p.Yx(np.array([z, x]))
        plotYz[i, j] = p.Yz(np.array([z, x]))
        plotFlux[i, j] = p.flux(np.array([z, x]))
        j += 1
    i += 1

    #np.where(plotY)

wce = np.where(np.abs(plotY - 1) < 1e-3)
wce2 = np.where(np.abs(plotY - 0.5) < 1e-3)
wce3 = np.where(np.abs(plotY - 1. / 3.) < 1e-3)
wce4 = np.where(np.abs(plotY - 1. / 4.) < 1e-3)
wce5 = np.where(np.abs(plotY - 1. / 5.) < 1e-3)

wce6 = np.where(np.abs(plotY - 1. / 6.) < 1e-4)