Example #1
0
splitting = 5
size = (50, 88, 35)
#size = (30, 25, 7)

Gold = "Au"
slab = FaceCenteredCubic(directions=((1, 1, -2), (-1, 1, 0), (1, 1, 1)),
                         size=size,
                         symbol=Gold)
basis = slab.get_cell()
print basis
print "Number of atoms:", len(slab)

center = 0.5 * array([basis[0, 0], basis[1, 1], basis[2, 2]]) + array(
    [0.1, 0.1, 0.1])
offset = 0.5 * splitting * slab.miller_to_direction((-1, 0, 1))
print center

d1 = Dislocation(center - offset, slab.miller_to_direction((-1, -1, 0)),
                 slab.miller_to_direction((-2, -1, 1)) / 6.0)
d2 = Dislocation(center + offset, slab.miller_to_direction((1, 1, 0)),
                 slab.miller_to_direction((1, 2, 1)) / 6.0)

atoms = Atoms(slab)
(d1 + d2).apply_to(atoms)
del slab

# Write the file in case CNA fails
traj = PickleTrajectory("initial.traj", "w", atoms)
traj.close()