In [1]:
%matplotlib inline
%load_ext autoreload
%autoreload 2
In [2]:
import numpy as np
import time
import matplotlib.pyplot as plt
from core import *
from pic3d3v import *
from interp import *
from solvers import *
norm = lambda x: np.max(np.abs(x))
In [3]:
L = 6*np.pi
N = 128
epsilon_vals = np.linspace(.01, 1., 4)
center = L/2.
rmax = .5
beta = 5
if False:
for epsilon in epsilon_vals:
x0 = np.array((center-epsilon, center+epsilon))%L
particles = Species(2, 1., 1., x0=x0)
picp3m = PIC3DP3M([particles], (L,L,L), (N,N,N))
picp3m.init_run(.1, beta=beta, rmax=rmax)
Ezp3m, Eyp3m, Exp3m = picp3m.calc_E_at_points()
pic = PIC3DPM([particles], (L,L,L), (N,N,N))
pic.init_run(.1)
_, _, Ex = pic.calc_E_at_points()
print "%.2f"%(epsilon,), Exp3m, Ex, 1./(4*np.pi*4*epsilon**2)
In [3]: