Example #1
0
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
Example #2
0
# 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))
Example #3
0
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)
Example #4
0
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")
Example #5
0
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