(no subject)

Hi All,

I’ve been attempting to construct an alpha quartz crystal using the LAMMPS command ‘lattice’ (see input file below). I’m reasonably confident that I’ve chosen the correct scale, lattice and basis vectors, etc., which I’ve verified using the crystal viewing program VESTA. I’m also using the ‘region’ command to create a parallelpiped with the appropriate shape for this crystal. However, when I look at the structure that is created by this command (at timestep 0), it doesn’t construct the correct structure for this unit cell. For example, most of the structure looks like it should, but a few atoms are displaced or missing. I’ve checked and re-checked the lattice parameters to see if they are correct and, to the best of my knowledge, I’ve found no obvious errors. I do notice that by playing with the box size, I might be able to get closer to the correct structure, but this strategy seems like something that shouldn’t be necessary if I was doing everything correctly.

Any suggestions for what I might be doing incorrectly?

Thanks again,

input file

Have you tried creating a single unit cell of
atoms and dumping them to a file and looking
at the coords to see if they are all correct?


Hi Steve,

Yes, I've looked at the coordinates of the starting structure of a
single unit cell. One of the atoms has the exactly the correct
(fractional) coordinates that were specified in the input files and
many of them are close to the expected value. (I've appended the
coordinates of specified in the input file, as well as those generated
by LAMMPS upon execution of the input script to this message.)

I should also note that the structure is missing 2 silicon atoms and
has an extra oxygen atom. Curiously, all the Z coordinates are exactly
correct, which makes me think that I've messed up the construction of
the parallelpiped by mis-use of the prism command (or incorrect xy,
xz, yz values), but I'm not sure that explains the fact that the
structure is missing 2 Si atoms and has an extra O atom.

Any suggestions?

Thanks again,

basis vectors specifying location of atoms in input file

I think you want this:

lattice custom 5.4047 origin 0.0 0.0 0.0 &
spacing 0.909153 0.78734976 1 &
a1 0.909153 0.000000 0.00000000 &
a2 -0.454576598 0.78734976 0.00000000 &
a3 0.00000000 0.00000000 1.00000000 &
basis 0.46990000 0.00000000 0.66666667 &
basis 0.00000000 0.46990000 0.33333333 &
basis 0.53010000 0.53010000 0.00000000 &
basis 0.41410000 0.26810000 0.78540000 &
basis 0.73190000 0.14600000 0.45206667 &
basis 0.85390000 0.58589999 0.11873333 &
basis 0.26810000 0.41410000 0.21460000 &
basis 0.58589999 0.85399999 0.88127777 &
basis 0.14600000 0.73190000 0.54793333
region simbox prism 0 1 0 1 0 1 -0.454576598 0 0

The spacing in y needs to be the y-extent of the unit
cell. That produces 9 atoms when dumping a
single unit cell's worth of atoms.