# Corresponds to sample rate in k-space, gridpts_ds gridpts_ds = 1000 gridpts_vg = 10 #summary figure number sfn= 1 plt.figure(sfn) plt.subplot(121) plt.title('Dispersion Surface') plt.xlabel('kpara [1/m]') plt.ylabel('kperp [1/m]') kpara, kperp = meshgrid(linspace(-k_max,k_max,gridpts_ds), linspace(-k_max,k_max,gridpts_ds)) kzeta = sqrt(kperp**2 + kpara**2) phi = arctan2(kperp,kpara) vo = vomega(kzeta,phi,mp) disp_surface_limits = [ kpara.min(), kpara.max(), kperp.min(), kperp.max() ] plt.imshow(vo, extent = disp_surface_limits) plt.contour(vo, extent = disp_surface_limits) plt.subplot(122) plt.title('Group Veloctiy') plt.xlabel('kz [1/m]') plt.ylabel('ky [1/m]') plt.grid(True) kpara, kperp = meshgrid(linspace(-k_max,k_max,gridpts_vg), linspace(-k_max,k_max,gridpts_vg)) kzeta = sqrt(kperp**2 + kpara**2) phi = arctan2(kperp,kpara) vd_z = vdwdk(kzeta,phi,mp)[0] vd_y = vdwdk(kzeta,phi,mp)[1]
H = 55704.230082 L = 5.1e-06 gamma = 35185.83772 alpha = 3.1e-16 theta = deg2rad(90.0) trans_n = 0.0 mp = [Ms, H, L, gamma, alpha, theta, trans_n] phi = deg2rad(45.0) # k_max = no of nodes*minimum k for sample width W W = 0.0013 k0 = pi/W k_max = 100.0*k0 plt.subplot(111) plt.title('1D Dispersion') plt.xlabel('Wavevector (1/cm)') plt.ylabel('Frequency (GHz)') plt.grid(True) nsteps = 100 k_BV = linspace(0,k_max,nsteps) k_DE = linspace(0,k_max,nsteps) k_user = linspace(0,k_max,nsteps) # we plot k in 1/cm and omega in GHz plt.plot(10**-2*k_BV,10**-9*vomega(k_BV,0.0,mp),'b-',10**-2*k_DE,10**-9*vomega(k_DE,pi/2,mp),'r-', 10**-2*k_user,10**-9*vomega(k_user,phi,mp),'k-') plt.tight_layout() plt.show()