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

Using compute property to determine the local temperature

Hello all:

I am pretty new to ovito, however, I am trying to determine the local temperature of a Silicon slab using the "compute property" command in ovito.

I want to basically form a spherical volume of given radius and from the local kinetic energy determine the temperature in the control spherical volume.I have read the compute property documentation - , however, I am not completely sure about the commands.

Kindly find the image attached. The local temperature could be determined from the total number of atoms in the control volume and averaging the velocity of neighboring atoms. It would be great if someone could guide me how to exactly determine this in ovito though.

I would be glad if someone could guide me about this.




Uploaded files:
  • temp.PNG

Dear Kaartikey,

as you already suggested, you can use the Compute property modifier, to smooth the per-particle values.

To compute, the average of velocity of the neighbor particles of a particle found in a cutoff radius of 3 e.g., you could use the following settings:

Output property: <v_j>
Expression: 0
Cutoff radius: 3
Neighbor expression: velocity/NumNeighbors

given that there is a particle property "velocity" in your input data.

Hope that helps,


Dear Constanze:

Many thanks for this help. This however, gives me the average velocity in the control volume (of radius 3). Let's say I have already computed the average velocity <v_j>.

To compute the temperature T(xj) now I would need to sum the difference of the local velocity and the average velocity over the control volume containing the "N" particles i.e. sum_i^N (Vi-<v_j>).

I am not sure how to proceed to summing the terms in the control volume to get the temperature.


I'd be glad if for the last time you could guide me about this.

Many thanks for all the help and time.