Hello all,
When using ovito to recognize dislocations in crystals, the dislocations are not recognized due to the variable c/a value of the HCP structure. For example, I want to recognize the dislocations in WC, but the c/a value of WC is much different from the standard. I tried to partially modify the source code of the DXA part in OVITO (as shown in the figure), and there is a difference in the recognition result before and after the modification but the difference is not big. I would like to ask for advice on how I should solve the problem of not recognizing all dislocations in WC.
When using DXA, there is a first step where Common Neighbor Analysis (CNA) is used to determine the crystal structure of each atom.
I assume that CNA does not work for your WC structure. You can easily test this by adding just the CNA modifier into your pipeline and checking the fraction of HCP atoms.
If this is indeed correct, you would have to either modify CNA to correctly identify these kinds of distorted HCP structures. Alternatively, if you are working with a single crystal, you can use the Affine Transformation modifier to first strain your system to a c/a ratio of 1.6 before applying DXA.
Thank you so much. I have another question, using Polyhedral template matching can recognize the HCP structure of WC, can I use PTM to work with DXA. I tried to use PTM to recognize the structure first and then use DXA to recognize dislocation , but DXA still can’t recognize the structure and dislocations.
DXA performs its own structure identification internally, based on CNA but with additional features. It does not depend on any structure identification algorithm from the upstream pipeline. Therefore, to use a different structure identification algorithm, you would need to update the DXA implementation.