Regarding Equillibrium lattice parameter

Hello all,

I am carrying out NPT equilibration on group of C atoms having diamond cubic structure.

However for different orientation I am getting different average parameter.

For ex. For x(100)y(010)z(001), Eq L.C.= 3.572

and for x(111)y()1-10)z(11-2), Eq L.C.= 3.855

Which parameter should be used in actual simulation when carrying out simulations for various combinations of orientations. In some of publications, only one Lattice parameter was used for different orientations.

Log file is also attached.

log.Carbon.lammps (470 KB)

Not enough info. How did you do your NPT? Physically, the
lattice constant can’t depend on the orientation. It’s a property

of the material.


Hi steve,

I used two lattices with y 010 and y 1-10 respectively. got two different lattice constants.

lattice diamond 3.5658 orient x 1 0 0 orient y 0 1 0 orient z 0 0 1

lattice diamond 3.5658 orient x 1 1 1 orient y 1 -1 0 orient z 1 1 -2

################ Part of code for calculating Lattice constant

pair_style tersoff
pair_coeff * * SiC.tersoff C

mass * 12.107

reset_timestep 0

compute new all temp
velocity all create 300 2223333 temp new
fix 1 all npt temp 300 300 0.1 iso 0.0 0.0 1

thermo 100
thermo_style custom step temp press pxx pyy pzz lx ly lz pe
run 10000

You orientated the unitcell and how did you replicate the unitcell? Not just one, correct?

From the lattice doc page, “For non-orthogonal unit cells and/or when a rotation is applied via the orient keyword, then the lattice spacings computed by LAMMPS are typically less intuitive. In particular, in these cases, there is no guarantee that a particular lattice spacing is an integer multiple of the periodicity of the lattice in that direction. Thus, if you create an orthogonal periodic simulation box whose size in a dimension is a multiple of the lattice spacing, and then fill it with atoms via the create_atoms command, you will NOT necessarily create a periodic system. I.e. atoms may overlap incorrectly at the faces of the simulation box.”

Which essentially means that your supercell might be wrong after orient. Search the LAMMPS mailing list and there are quite a few discussions on how to create a correct periodic supercell after “lattice orient"



there are two questions after reading a few earlier discussions and going through manual:

  1. Could periodicity in case of oriented/rotated lattices be attained by a simulation box having non-integer multiple of Equilibrium lattice constant?

  2. If i have to obtain an equillibrium lattice constant, will default orientation in that process is good enough? Means the Equilibrium lattice constant obtained from default orient (100 010 001) will work for other orientations as well?

You are making your problem vastly more difficult by trying to accomplish many difficult tasks at once, instead of mastering them​ one at a time. I suggest the following:

  1. Do not use MD (fix npt), instead use energy minimization (minimize) and cell relaxation (fix box/relax) to calculate T=0 lattice constant
  2. Start by relaxing the standard diamond cell, yielding the correct zero-temperature lattice constant for whatever potential you are using. check for proper convergence
  3. Figure out how to build a system with the rotated lattice so that using the same lattice constant, you get P=0 and PE=correct value

Only when you know how to do these steps should you attempt to run NPT.