Visualizing atoms with specific starting positions or atoms within a radius of a specific atom


When visualizing on Ovito a simulation with multiple frames, there are two things that I would like to do and I cannot find a way to do it:

  • I would like to see across all the frames, only the atoms that had a specific position X at the beginning. To be clearer, I would like to visualize only the atoms that had 0 < Position.X < 2 at the source frame.

  • The other thing I would like to visualize is ‘all the atoms that have a distance of less than 4 with the particle 42’.

Thanks in advance for your help !


Your first problem can be solved with the help of the Freeze Property modifier in OVITO. You can use it to make a frozen copy of the Position particle property at frame 0 of the trajectory. You should name this copy InitialPosition, for example. Next, you can use the Expression Selection modifier to select the subset of atoms across the entire trajectory based on the static InitialPosition property.

At first, your second problems seems to require a solution based on a Python script modifier, which is only available in OVITO Pro. The CutoffNeighborFinder facility of OVITO seems to be made for this situation.

However, on second thought, you may be able to solve this problem by employing the Compute Property modifier, which is available also in OVITO Basic. Use the following neighbor expression, which yields a non-zero contribution only if particle 42 is within the vicinity of the current central particle:

ParticleIdentifier == 42 ? 1 : 0

The output property of the modifier should be set to Selection. Thus, this modifier will set the selection flag of a particle to a non-zero value only if that particle has particle 42 within its cutoff range, and to zero otherwise.


By the way, there is yet another solution to your second problem, which is even simpler than the one proposed above:

  1. Use the Expression Selection modifier to select just the central particle 42.
  2. Next, use the Expand Selection modifier to also select all neighboring particles within the given cutoff range.

Finally, you should use the modifiers Invert Selection and Delete Selected to remove all unselected particles from the visualization.

Thank you ! That was exactly what I was looking for and it works very well !