Forum Navigation
You need to log in to create posts and topics.

PTM Deformation Gradient to Strain Tensor, Crystal Orietation

Dear all,

  1. I am interested to find the strain tensor for each atom of a thin film relaxed at a finite temperature, if it is meaningful at all. To do that, I tried PTM deformation gradient outputs, but what I am interested in is in fact the strain tensor components for each atom. Is there anyway in OVITO to convert the deformation gradient components from PTM to strain tensor components for each atom? Or is there anyway to find the strain components for each atom of a snapshot taken from a material system in which finite temperature vibrations are included?
  2. Also, I am relaxing a 3000 thousand Cu atoms on a ceramic substrate in a dome shaped region. The minimized structure is attached to this message. What I am interested in is determining the Cu crystal orientation normal to the substrate surface. Is there anyway in OVITO to determine the particle orientation in a specific direction? I can slice the particle at different heights and see the arrangement of each atomic layer in the particle, but I was wondering if there is any automatic way in OVITO to do that, in replace of serial sectioning the Cu particle at different heights and determine the stacking of atoms one by one visually.

Thanks for your time and consideration in advance,


Uploaded files:


It would be totally possible to write a Python modifier for OVITO Pro computing the (finite) strain tensor from the elastic deformation gradient tensor output by the PTM modifier for each atom.

But have you already considered using the Elastic Strain Calculation modifier instead of PTM? That function directly outputs atomic strain tensors and no conversion would be needed. It also gives you the option to explicitly specify the reference crystal lattice parameter, and hydrostatic strains will be calculated with respect to that reference crystal state.

I'm not sure about your second question and what you mean with "orientation in a specific direction". What PTM can compute for you is the local crystal orientation at each atomic site. The local crystal orientation is a three-dimensional orientation, expressed as a rotation matrix or quaternion. Would you like to determine the local crystal lattice direction corresponding to a specific spatial direction in the simulation coordinate system? Or is it something else you are after?


Hi Alexander,

Please allow me to provide you with some information that may be needed to have better understanding here.

I am depositing a copper (Cu) thin film on a titanium nitride (TiN) substrate. I am doing the deposition at 600 K, and below is the list of parameters that might be required to have a better assessment of the situation that I am concerned with:

  • Bulk lattice constant for TiN at 600 K from the potential that I have: 4.25736409831921 Angstrom
  • Bulk lattice constant for Cu at 600 K from the potential that I have: 3.65057832488483 Angstrom
  • Type 1: Ti
  • Type 2: N
  • Type 3: Cu
  • X and Z are periodic, and there are free surfaces along the Y direction at the top and bottom faces.
  • X: TiN<100>   Y: TiN<010>   Z: TiN<001>
  • RMSD cutoff for PTM: 0.15. Simple cubic was selected also.
  • Elastic Strain Calculation: Face-centered cubic (FCC), Lattice constant: 3.65058

1) Now regarding your comments, actually I tried the Elastic Strain Calculation, and I compared its results to the ones from PTM in terms of Elastic Deformation Gradient.XX. I have attached a snapshot of the simulation from LAMMPS at 600 K and the related images to this message. I get different results from Elastic Strain Calculation and PTM modifiers, and I am not sure which one is correct. By using the elastic strain tensor components, What I am interested to know is that the deposited Cu thin film is stretched or compressed. But I found a link below that claims "there are some bugs for strain tensor output in OVITO":

Unfortunately, since I don't have access to the Pro version of OVITO I couldn't try a Python modifier, and I can't confirm that if the contents in the link above are valid or not.

Please let me know what your opinion is on the issues above, and how I should do the elastic strain calculations.

2) My second question was actually about the growth direction of a Cu particle or island, i.e., parallel to the normal to the TiN substrate surface. The file that I shared before shows a Cu island relaxed on a TiN{010} substrate, i.e. TiN<010> parallel to the Y direction, and by slicing the Cu particle along the Y direction at different heights, you can see that most of the Cu atoms in each layer are arranged in {010} fashion. So, the Cu particle is grown in <010> direction normal to TiN{010} substrate. However, this could be cumbersome by having a TiN{221} substrate, and determine the growth direction of the Cu along normal to the substrate is difficult visually due to the complex arrangement of the Cu atoms in each layer. So, what I was asking is actually using a tool in OVITO to determine the growth direction automatically, and not by visualizing each atomic layer.

I hope I could clarify the question, but it could be as you said that I want to determine the local crystal lattice direction corresponding to a specific spatial direction (along Y direction in y case) in the simulation coordinate system which is XYZ for my system.



Uploaded files: