Author Topic: Spatial distribution of dislocation (DXA) segements  (Read 526 times)


  • Newbie
  • *
  • Posts: 1
Spatial distribution of dislocation (DXA) segements
« on: June 04, 2018, 07:42:54 PM »

I am trying to do some spatial binning of the DXA dislocation segments to analyze the dislocation sinks at grain boundaries.
I know I can replicate this by Slicing the particle layer before apply the DXA, but I suspect that it would affect the DXA results the Slice boundaries.
Would you recommend this method for the example system shown in attachment?
The systems is approximate 250 A x 500 A and sliced to thickness of 50 A. 
The alternative is output the full DXA results into CA format and do the spatial binning externally, which seems extraneous.

Alexander Stukowski

  • Administrator
  • Hero Member
  • *****
  • Posts: 638
Re: Spatial distribution of dislocation (DXA) segements
« Reply #1 on: June 05, 2018, 11:28:13 AM »
Yes, you are right, slicing of dislocations has only an apparent effect on the visualisation of the lines. It doesn't actually remove the lines outside of the cutting region. This is unlike atoms, which actually get deleted by the Slice modifier.

The technical background is this: dislocation lines are extended objects that live in a periodic domain (when PBCs are used). Cutting and slicing typically doesn't make sense within that periodic domain, because there exists an infinite number of periodic images of the same object but only a single cutting plane. To resolve this ambiguity, cutting along the plane happens after a non-periodic version of dislocation lines has been produced by the program for visualisation purposes. This non-periodic version of the dislocation lines, in which lines crossing a periodic boundary are cut into multiple pieces, represents a transient configuration which is not visible to modifiers in the data pipeline or to Python scripts accessing the dislocation data.

The only way to access the transient state, i.e. the non-periodic and sliced dislocation lines, is by exporting the lines to a "VTK Dislocation Lines File". This export format is available in the current development version (3.0.0-dev200) of OVITO but not in version 2.9.0. Note that the "CA" export format always stores the periodic (and not yet sliced) version of the dislocation lines.

I'm afraid at the moment there is no other way to accomplish your goal. You need to export the lines to series of VTK files, slice by slice, then read in these files again (using a custom Python script, ParaView or the VTK programming framework) and compute the total line lengths yourself.