Author Topic: Extracting surface atoms  (Read 441 times)

gopaldas

  • Newbie
  • *
  • Posts: 3
Extracting surface atoms
« on: April 03, 2018, 04:01:47 PM »
Hi,

Is it possible to extract only the surface atoms from a rough spherical particle?

Thanks

Alexander Stukowski

  • Administrator
  • Hero Member
  • *****
  • Posts: 595
Re: Extracting surface atoms
« Reply #1 on: April 03, 2018, 05:11:30 PM »
Hi,

It depends on what would you consider a good criterion to identify those surface atoms. Do you think a simple coordination number threshold would work to discriminate those atoms from the interior atoms?

-Alex

xodiyo

  • Newbie
  • *
  • Posts: 2
Re: Extracting surface atoms
« Reply #2 on: March 26, 2019, 09:33:02 AM »
Hi,

It depends on what would you consider a good criterion to identify those surface atoms. Do you think a simple coordination number threshold would work to discriminate those atoms from the interior atoms?

-Alex

The simple coordination that you proposed how is it supposed to be executed in OVITO? I have checked in OVITO and it gives a radial distribution as an output. I have a file with multiple frames, as opposed to getting a distribution function, I would like to extract surface atoms per timestep. There are other means that can be used but specifically I wanted to use OVITO and try to replicate some results in some  research paper. Just keep in mind that I am not an experienced user of OVITO.

Constanze Kalcher

  • Administrator
  • Sr. Member
  • *****
  • Posts: 265
Re: Extracting surface atoms
« Reply #3 on: March 26, 2019, 11:56:20 AM »
Hello,

the Coordination analysis modifier not only calculates the RDF but creates a new particle property "Coordination" which as the name suggests is the number of neighbor atoms found within the the user specified cutoff range of each particle.
In a next step, you can create a selection based on the coordination number. Simply add an Expression selection modifier to your pipeline and edit the Boolean expression field, e.g.
Code: [Select]
Coordination < 12
Alternatively, you can use the recently implemented feature of the Construct surface mesh modifier which lets you select particles on the surface by activating the checkbox Select particles on the surface.

In both cases, you can easily export the number of surface atoms which is stored in the global attribute "SelectExpression.num_selected" for each frame using the File export function and choosing Table of Values as export file format.

-Constanze
« Last Edit: March 26, 2019, 12:02:11 PM by Constanze Kalcher »

xodiyo

  • Newbie
  • *
  • Posts: 2
Re: Extracting surface atoms
« Reply #4 on: March 29, 2019, 08:10:13 AM »
I have checked what you proposed. It gives me the total number of atoms. What I needed was get surface atoms out of the bulk. Say some thing like x,y,z are coordinates of surface atoms and x',y',z' are from the bulk. I needed to plot surface profile, and I can't do that from total number. See this reference for the OVITO section "A. O. Oluwajobi and X. Chen, "On Atomic Surface Roughness Evaluation", Key Engineering Materials, Vol. 686, pp. 200-203, 2016" .

Constanze Kalcher

  • Administrator
  • Sr. Member
  • *****
  • Posts: 265
Re: Extracting surface atoms
« Reply #5 on: March 29, 2019, 11:03:39 AM »
Hello xodiyo,

it wasn't clear to me what you're trying to do.
In the reference you mentioned it seems like they also chose a criterion based on the number of neighbor atoms, i.e. they applied the Coordination analysis modifier to calculate the number of neighbors. Then they created a selection based on the number of neighbors and exported the coordinates of that selection.
In short, you can invert your selection, delete the bulk atoms and then make use of the export file-function to export the coordinates of the surface atoms.

-Constanze