def omega_interp(self, parameters):
omega = self.omega(parameters)
kappa = self.kappamesh
kx, ky, kz = kmesh = self.kmesh
k = self.k
#print(omega, self.dks)
vgs = np.gradient(omega, *self.dks, edge_order=2)
vg = np.sqrt(sum(vgc**2 for vgc in vgs))
vg[:3,:3,:3] = 1
omega_interp = spinterp.RegularGridInterpolator((kx[:,0,0], ky[0,:,0], kz[0,0,:]), omega)
vph_interp = spinterp.RegularGridInterpolator((kx[:,0,0], ky[0,:,0], kz[0,0,:]), vg)
return omega_interp, vph_interp
评论列表
文章目录