Forum Navigation
You need to log in to create posts and topics.

Can you consider adding a "Ql" calculation module ?

Dear professor Stukowski :

BOO (bond orientational order) method is used to calculate "ql" value of each atom (q4, q6, etc.), which was founded by Steinhardt. It is widely used to distinguish symmetry of atomic local structure, such as FCC, HCP, BCC crystal structure, etc.
ABOO method is on the basis of BOO, to average "ql" value components of all atom j (including atom i itself) within specified cutoff distance, and then calculate local average "Ql" of "ql" value of atom i. Improved ABOO method allows for a more sharp distinction of crystal structures.

My advice:
1.   Refer to source code of "compute orientorder/atom" command of LAMMPS, integrate it into ovito, implement BOO method, and calculate the "ql" value.
Recommendation (1), keep true value of outputted "ql" components, not the normalized output of the components in LAMMPS.
Recommendation (2), keep the option for calculating "solid-like" and "liquid-like" atoms.
2.   Add a "local" option and a "cutoff" parameter to realize the ABOO method.
3.   Please note: to distinguish,please use "ql" for BOO method and "Ql" for ABOO method.
4.   References
[1]   "BOO" : Steinhardt P J, Nelson D R, Ronchetti m. Bond-Orientational Order in liquids and glasses [J]. Physical review. B, Condensed matter, 1983, 28 (2).
[2]   "ABOO" :  Li R, Wu Y, Xiao j. The nucleation process and the roles of structure and density fluctuations in supercooled liquid Fe [J]. The Journal of Chemical Physics, 2013, 140 (3) : 046102.

Thank you for your ovito, and your hard work  !


Yours Sincerely,
Rui Zhao
May 20, 2020


Dear Rui Zhao,

Thank you for this nice suggestion and for already providing some hints on how to implement the Steinhardt parameter calculation (and the improved method).

I will include the request in our development plan for OVITO. At the moment I cannot make any promises on when this program feature can become available, but I generally agree with you that a calculation function for the bond orientational order parameters would be a useful addition to OVITO.

Let me get back to you once I started working on this task.

Best regards,


Hi Alexander:

Thank you for considering my suggestion !

There is one more suggestion that I would like you to consider.
A few days ago, I saw an paper: "Machine learning enabled autonomous microstructural characterization in 3D samples (NPJ Computational Materials (2020) 6:1; ".

The core idea of this paper is to use the clustering algorithm to analyze the microstructure. The steps mainly include voronoi modeling, CNA and other topological analysis, voxel preprocessing, DBSCAN and other algorithms for cluster analysis, fine processing and voxel-atom mapping.I think ovito already has most of these functions and can be effectively integrated to implement the analysis method, and even extend this method (for example, maybe DBSCAN is not the optimal method for some systems, maybe regression algorithm or other algorithm are better).
Thank you so much ! Wish ovito better and better !

- Rui Zhao


Uploaded files:
  • ML_microstructural.PNG