Author Topic: atomic strain  (Read 273 times)

hui_zhang

  • Newbie
  • *
  • Posts: 6
atomic strain
« on: March 12, 2018, 01:28:56 AM »
Dear all,
Can I use the ovito to calculate the atomic strain without the input of reference structure, just like the atomic local strain in Atomeye? Many thanks.
All the best,
Hui

Alexander Stukowski

  • Administrator
  • Sr. Member
  • *****
  • Posts: 398
Re: atomic strain
« Reply #1 on: March 12, 2018, 11:04:52 AM »
Dear Hui,

it is not exactly what Atomeye does, but I think it is close to what you have in mind. The 'Elastic Strain Calculation' function of OVITO calculates the per-atom elastic strain tensor. This tensor describes the elastic distortion of the lattice with respect to an ideal crystal state, which doesn't have to be explicitly specified in terms of atomic positions:

http://ovito.org/manual/particles.modifiers.elastic_strain.html

Note the following important limitation: The elastic deformation can only be calculated for atoms that form a elastically distorted, but otherwise perfect lattice. For atoms that are part of crystal defects, the elastic strain is not well defined and OVITO won't calculate a value for them.

Best regards,
Alex

hui_zhang

  • Newbie
  • *
  • Posts: 6
Re: atomic strain
« Reply #2 on: March 12, 2018, 11:57:29 PM »
Dear Alex,
Thank you very much for your help. When I tried the elastic strain modifier, the software failed to identify the hcp structure (my model is an hcp {10-11} twin). Do you have any idea where my mistake is?
Best regards,
Hui

Alexander Stukowski

  • Administrator
  • Sr. Member
  • *****
  • Posts: 398
Re: atomic strain
« Reply #3 on: March 13, 2018, 12:02:13 AM »
Please upload the structure. I will take a look myself and let you know if something is wrong with it.

hui_zhang

  • Newbie
  • *
  • Posts: 6
Re: atomic strain
« Reply #4 on: March 13, 2018, 12:19:54 AM »
Hi Alex,
Thank you so much for such a quick reply. Please find the structure file in the attachment.
Regards,
Hui

Alexander Stukowski

  • Administrator
  • Sr. Member
  • *****
  • Posts: 398
Re: atomic strain
« Reply #5 on: March 13, 2018, 12:51:37 AM »
It is essential that you activate the 'Adjust simulation box size' option in the 'Show periodic images' modifier. Without it, the atoms are duplicated, but the periodic volume remains the same. Then you get overlapping atoms, which let's the structure identification algorithm fail.

hui_zhang

  • Newbie
  • *
  • Posts: 6
Re: atomic strain
« Reply #6 on: March 13, 2018, 01:49:41 AM »
Hi Alex,
Thank you. According to the manual, the atoms at the coherent twin boundary are specially treated. For my case, it is a little bit strange that the strain of the atoms at the coherent twin boundaries is always 0, while that of the perfect lattice (for example at the half distance of the twin boundary spacing) is non-zero.
Many thanks,
Hui

Alexander Stukowski

  • Administrator
  • Sr. Member
  • *****
  • Posts: 398
Re: atomic strain
« Reply #7 on: March 13, 2018, 09:35:09 AM »
I understand your concern. But the reasoning behind this behaviour is the following: Strain is a quantity that is always calculated with respect to some reference configuration. For atoms within the perfect bulk, it is easy. The perfect lattice is used as ad-hoc reference configuration in the elastic strain calculation. For atoms within the grain boundary core, however, it's not clear what would be the right reference configuration. OVITO has no information about how a perfect, elastically unstrained twin boundary should look like. This kind of information can only be provided by the user, but then we are basically performing a regular atomic strain calculation again, which requires an explicit reference configuration.

hui_zhang

  • Newbie
  • *
  • Posts: 6
Re: atomic strain
« Reply #8 on: March 14, 2018, 12:10:50 AM »
Hi Alex,
Thank you so much for your explanation. I got what you mean. Is it possible to obtain the matrix (Mi, defined in the attached figure) in OVITO? I want to use this method to evaluate the stain of the atoms at the coherent twin boundary.
Regards,
Hui

Alexander Stukowski

  • Administrator
  • Sr. Member
  • *****
  • Posts: 398
Re: atomic strain
« Reply #9 on: March 14, 2018, 01:51:41 PM »
Yes, you could compute the M matrix using OVITO's Compute property modifier (using the neighbor compute mode). Note, however, that you would need to define one modifier for each of the 9 components of the M matrix, because the modifier lets you only perform scalar computations.

A second option is to write a user-defined modifier function in Python. This would be the easier solution if you already have knowledge of Python.

hui_zhang

  • Newbie
  • *
  • Posts: 6
Re: atomic strain
« Reply #10 on: March 15, 2018, 11:57:22 PM »
Hi Alex,
Thank you very much for all the information you provided.
Regards,
Hui