Hi, all,
I am using " compute orientorder/atom command" to compute the steinhardt order parameter. If I want to average the steinhardt order parameter over the central atom and its neighbors within specified distance, do you have suggestions on which command to use? Thanks in advance!
As far as I know this cannot be done directly in LAMMPS right now. I’m working on a compute that does exactly this. When it’s finished I’ll send it to you and add a pull request to the git repository
That seems like a strange thing to do. Also, there is more than one way to do the averaging, because the underlying quantities are vectors of length 2*l+1. Do you want to average the components and then compute the scalar norms, or average the scalar norms. There is currently work underway to calculate the scalar product of the vectors of a pair of neighbor atoms. Is that what you are after?
Aidan, I’ve implemented that quantity where you compute 2l+1 values per atom and for each nnn neighbors you compute the scalar product between the pairs of atoms.
Yes, this looks like the method that was previously mentioned on this list as the ten Wolde criterion for identifying atoms in a cluster. Luis Gustavo Vieira Gonçalves (copied) is working on an implementation that achieves the same thing as your code in a somewhat more general way by adding an option to compute coord/atom that counts coordination based on scalar product between a pair of atoms lying in a certain range. The per-atom vectors are generated by adding an option to compute orientorder/atom.
You can send it to me, or you can post a pull request on github, whichever you prefer. I also recommend that you and Anders look at each others codes. There are good features of both that can be merged in to a single version. Since both of you understand the final goal better than me, you should be able to decide what is best.