def anim(x,y,z): f = mlab.gcf() plt = mlab.points3d(x,y,z, colormap="copper", scale_factor=.25) while(True): # TODO: Paralelize md.evolve(25) x,y,z = md.get_positions() stats = md.system_stats() print('Temp',stats[-1]) plt.mlab_source.set(x=x, y=y, z=z) f.scene.render() yield
# GIVE TIME OF EVOLUTION IN PS AND NUMBER OF POINTS time=10 snapshots = int(round(time/(100*dt))) steps_to_be_done = int(round(time/dt)) steps_per_snapshot = steps_to_be_done/snapshots # SIMULATION md.init_simulation(nx=nx, ny=ny, nz=nz, a=0.37317, R=R, T0=T0, m=m, f=f, L=L, epsilon=epsilon, dt=dt) x,y,z,px,py,pz = md.set_particles() Ek = np.zeros(snapshots+1) V = np.zeros(snapshots+1) Vs = np.zeros(snapshots+1) T = np.zeros(snapshots+1) P = np.zeros(snapshots+1) t = np.arange(float(snapshots+1))
L= 2.3 dt = 1e-03 # GIVE TIME OF EVOLUTION IN PS AND NUMBER OF POINTS time=15 snapshots=int(round(time/dt)) steps_to_be_done = int(round(time/dt)) steps_per_snapshot = steps_to_be_done/snapshots md.init_simulation(nx=nx, ny=ny, nz=nz, a=0.37317, R=R, T0=T0, m=m, f=f, L=L, epsilon=epsilon, dt=dt) md.set_particles() Ts = np.logspace(0.,4.,num=10,endpoint=False) for T in Ts: print(T) md.change_T(T) md.termalize() md.simulate(1.,100,10)
T0= 100.0 m= 39.948 epsilon=1.0 f= 10000.0 L= 2.3 dt= 2e-03 kb=8.31*1e-3 print('# starting test of MolecDyn') md.init_simulation(nx=5, ny=5, nz=5, a=0.38, R=0.38, T0=100., m=39.948, f=10000.0, L=2.3, epsilon=1., dt=2e-03) x,y,z,px,py,pz = md.set_particles() p = np.linspace(0.,20.,num=200) C = math.sqrt(kb*T0/m) plt.hist(np.sqrt(px**2+py**2+pz**2)/m,label='|p|',normed=True) #plt.plot(p/m,4*pi*(m/(2*pi*kb*T0))**(3/2)*(p/m)**2*np.exp(-(p/m)**2/(2*m*kb*T0))) plt.axvline(math.sqrt(2*kb*T0/m),color='red') plt.title("velocity histogram")
import mayavi from mayavi import mlab import MolecDyn as md # home-made module for molecular dynamics nx=8 ny=8 nz=8 a=0.38 md.init_simulation(nx=nx, ny=ny, nz=nz, a=0.38, R=0.38, T0=110, m=39.948, f=10000.0, L=1.23*(nx-1)*a, epsilon=1., dt=1e-03) x,y,z,px,py,pz = md.set_particles() #mlab.figure(1, fgcolor=(1, 1, 1), bgcolor=(0, 0, 0)) #mlab.mesh(x,y,z,transparent=True) #mlab.points3d(0,0,0) #r = 2.3 #pi = np.pi