from electrode import System, GridElectrode # load the electrostatics results into a electrode.System() s = System() for name in "DC1 DC2 DC3 DC4 DC5 RF".split(): r = Result.from_vtk(prefix, name) e = GridElectrode.from_result(r) e.name = name s.append(e) s["RF"].rf = 1. # <codecell> from scipy.constants import atomic_mass x0 = s.minimum((0, 0, 1.)) for _ in s.analyze_static(x0, m=25*atomic_mass, u=50., l=40e-6, o=100e6*2*np.pi): print(_) # <codecell> n = 30 #xyz = np.mgrid[-.1:.1:1j*n, -.1:.1:1j*n, 1.12:2] #xyz = np.mgrid[0:1, -.02:.02:1j*n, .5:1.5:1j*n] xyz = grid.to_mgrid() p = s.potential(xyz.reshape(3, -1).T, 0).reshape(xyz[0].shape) v = np.linspace(0, 2e-2, 21) fig, ax = plt.subplots() ax.set_aspect("equal") ax.contour(xyz[1, 10, :, :], xyz[2, 10, :, :], p[10, :, :], v, cmap=plt.cm.Reds_r) # <codecell>