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)
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)