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=1^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.



Dear Constanze:

As stated in my previous reply, I would be extremely glad if you could guide me to the last step of calculating the temperature. I have not been able to really get the correct value for the temperature somehow.

Once again, many thanks for all the help.



Dear Kaartikey,

I'm not sure I understand what's going wrong. Analogous to computing the average velocity, you could just use another instance of the Compute Property Modifier and use the "Neighbor Expression" to realize the sum? The procedure is the same. If you like you can show us a screenshot of your modifier settings.