CNA in ovito cannot recognize rock salt structure. Is there any way for ovito to recognize this structure.

Hello, CNA in ovito cannot recognize rock salt structure. Is there any way for ovito to recognize this structure. Because high entropy ceramics and carbides are both rock salt structures, especially high entropy ceramics are new materials. Due to the inability to use CNA and DXA, simulation and interpretation of such materials are limited. If ovito can analyze high entropy ceramics, it will have a huge impact on this material.

Yes, the Common Neighbor Analysis (CNA) method, as implemented in OVITO, cannot recognize simple cubic structures. The Polyhedral Template Matching (PTM) method is able to identify simple cubic lattices (while ignoring the chemical special of the atoms in a rock salt structure). But the ability of PTM to also identify chemical orderings does not currently cover the rock salt structure, unfortunately.

If you would like to use the dislocation extraction algorithm (DXA) of OVITO to identify dislocations in a crystal with a rock salt structure, e.g. NaCl, you currently have to use a workaround: First, select all atoms of one species (either Na or Cl atoms, for example). Then, when you apply the DXA modifier, turn on the option “Use only selected particles” and select “Face-centered cubic (FCC)” as input crystal structure. DXA should then find dislocations in the fcc-like sub-lattice formed by one atomic species of the rock salt structure.

I want to program myself to incorporate rock salt structure recognition into CNA. Can you give me some suggestions.

If you want to extend the CNA routine of OVITO, first make sure you are able to build OVITO from source.

Then you would need to extend this source file, in particular the determineStructureAdaptive() function, and add support for the simple cubic structure. However, I am not entirely sure how difficult this task will be. A problem I foresee is that, in the simple cubic structure, the 6 nearest neighbors of a lattice site are not common neighbors, which is a fundamental requirement of CNA. It may therefore be necessary to include second-nearest neighbors in the analysis.

If you do this, I should point out that this won’t suffice to teach DXA to find dislocations in simple cubic structures. DXA uses an internal implementation of the CNA method, which provides additional capabilities such as the ability to determine local crystal directions of neighbor atoms.

In case you find working with the full OVITO source code too complicated, you could also use this standalone code for first experiments with the CNA algorithm:

https://asa.ovito.org