compute orientorder/atom

Dear LAMMPS users,

I am quantifying the disorder of a packing system via bond-orientational order and compute Q6 of each atom.

For perfect fcc crytal Q6=0.575. For a completely disordered system, the Q6 is expected to be smaller than 0.575. But my output showed Q6 ranges from 0.1 to 1. Some atoms even have Q6=1 (the contact numbers for those atoms are also 1) .

The command is “compute q6 all orientorder/atom degrees 4 6 8 10 12 nnn NULL”, I output c_q6[2].

Any help will be appreciated.

Best wishes,


What I know is that orientorder/atom is a 3d analog of hexorder/atom for 2d system. Hexorder/atom calculates hexatic order parameter, which is a complex number. Similarly orientorder/atom calculates parameter for 3d system and outputs a complex number. So first of all you need to output every component of your compute. And the modulus of the q6 will be equal to 1 for the case of completely ordered state.

OK. Thank you.

I am not sure what exactly you are asking about. Clearly, for randomly generated environments, Q6 can take values anywhere in the range [0,1]. For example, an atom with a single neighbor will have Q6=1, by definition of the spherical harmonics on the doc page, while an atom with zero neighbors will have Q6=0. The average value that you get from many random structures will depend on many factors, but it might be greater than Q6(fcc). Please try doing your own reading before asking open-ended questions.


p.s. this statement is obviously not correct " And the modulus of the q6 will be equal to 1 for the case of completely ordered state.", unless the ordered state has only 1 neighbor per atom.