# Two question with the lattice command

Dear all,

I still have two questions concerning the lattice command, any comment and suggestion will be highly appreciated.

1> One is about the lattice custom option. When I define a supercell in following way, the simulation is terminated accompanied with error of “using undefined lattice”:
lattice custom 3.615 a1 10 0 0 a2 0 5 0 a3 0 5 0 &
basis 0.0 0.0 0.0 &
basis 0.5 0.5 0.0 &
basis 0.5 0.0 0.5 &
basis 0.0 0.5 0.5

However, the simulation run well when I define the supercell in another way:

lattice custom 3.615 a1 10 0 0 a2 0 5 0 a3 0 5 0 &
basis 0.0 0.0 0.0 basis 0.5 0.5 0.0 basis 0.5 0.0 0.5 &
basis 0.0 0.5 0.5

It seems that arranging single basis atom in single line is not supported by the lammps. I am wondering is there anyway to enable the code to support the first way of creating supercell, as it will be trouble to manually create the supercell in the second way if there are hundreds of basis atoms.

2> The other question is: whether the lattice orient option only requiry integral number for fcc structure? For example, if I rotate the basic fcc lattice matrix as orient x 1 0 0 orient y 0 1 0 orient z 0 0 1 with respect to the axis of z 0 0 1 by 30 degree, then the rotated lattice matrix should be orient x sqrt(3)/2 1/2 0 orient y -1/2 sqrt(3)/2 0 orient z 0 0 1. However, after I specify the lattice using following line:

lattice fcc 3.615 orient x 1.732 1 0 orient y -1 1.732 0 orient z 0 0 2

I notice that the lattice spacing in x,y,z shown in log.lammps are 5.11238 5.11238 3.615, respectively, which are the same with the lattice spacing values when rotating the basic fcc lattice in the same fashion but by 45 degree. Therefore, I guess the value of 1.732 is treated as 1 if only integral number is supported for the lattice orient option for the fcc structure.

Best regards,
Junjie
2012-02-02

Steve

Dear all,

I still have two questions concerning the lattice command, any comment and
suggestion will be highly appreciated.

1> One is about the lattice custom option. When I define a supercell in
following way, the simulation is terminated accompanied with error of "using
undefined lattice":
lattice custom 3.615 a1 10 0 0 a2 0 5 0 a3 0 5 0 &
basis 0.0 0.0 0.0 &
basis 0.5 0.5 0.0 &
basis 0.5 0.0 0.5 &
basis 0.0 0.5 0.5

However, the simulation run well when I define the supercell in another way:
lattice custom 3.615 a1 10 0 0 a2 0 5 0 a3 0 5 0 &
basis 0.0 0.0 0.0 basis 0.5 0.5 0.0 basis 0.5 0.0 0.5 &
basis 0.0 0.5 0.5

It seems that arranging single basis atom in single line is not supported by
the lammps. I am wondering is there anyway to enable the code to support the
first way of creating supercell, as it will be trouble to manually create
the supercell in the second way if there are hundreds of basis atoms.

The error you mention does not likely come from the lattice
command, but some other command. Run with -echo screen
to see what command is failing. You can spread a single
command over as many lines as you like.

2> The other question is: whether the lattice orient option only requiry
integral number for fcc structure? For example, if I rotate the basic fcc
lattice matrix as orient x 1 0 0 orient y 0 1 0 orient z 0 0 1 with respect
to the axis of z 0 0 1 by 30 degree, then the rotated lattice matrix should
be orient x sqrt(3)/2 1/2 0 orient y -1/2 sqrt(3)/2 0 orient z 0 0
1. However, after I specify the lattice using following line:
...
lattice fcc 3.615 orient x 1.732 1 0 orient y -1 1.732 0 orient z 0 0 2
...
I notice that the lattice spacing in x,y,z shown in log.lammps are 5.11238
5.11238 3.615, respectively, which are the same with the lattice spacing
values when rotating the basic fcc lattice in the same fashion but by 45
degree. Therefore, I guess the value of 1.732 is treated as 1 if only
integral number is supported for the lattice orient option for the fcc
structure.

The "lattice spacing" is defined precisely on the lattice doc
page. It does not mean spacing between lattice planes in
a crystallographic sense. The doc page also explains the
orient option. The values have to be integers, but
the vectors do not have to be unit length. So you can
specify any crystal directions with them in the usual solid
state fashion.