Ovito PDF
Ovito PDF
Related content
- Extracting dislocations and non-dislocation
Visualization and analysis of atomistic simulation crystal defects from atomistic simulation
data
data with OVITO–the Open Visualization Tool Alexander Stukowski and Karsten Albe
Recent citations
- Topology evolution during coarsening of
nanoscale metal network structures
Yong Li et al
E-mail: [email protected]
Abstract
The Open Visualization Tool (OVITO) is a new 3D visualization software
designed for post-processing atomistic data obtained from molecular dynamics
or Monte Carlo simulations. Unique analysis, editing and animations functions
are integrated into its easy-to-use graphical user interface. The software is
written in object-oriented C++, controllable via Python scripts and easily
extendable through a plug-in interface. It is distributed as open-source software
and can be downloaded from the website http://ovito.sourceforge.net/.
(Some figures in this article are in colour only in the electronic version)
1. Introduction
Molecular dynamics (MD), molecular statics and Monte Carlo based simulations are nowadays
standard methods for materials modeling with atomic scale resolution. Such atomistic
simulations generate temporal-spatial information on three-dimensional atomic configurations
and/or atom trajectories, which have to be analyzed in order to gain scientific insights into a
physical system.
Thus, powerful visualization techniques play a key role, moreover, since the simulated
systems become larger and more complex. The task of visualization software is to translate the
raw atomic coordinates into a meaningful graphical representation to enable interpretation by
the scientist. In many cases sophisticated analysis techniques can help to extract more essential
information from the atomistic system. Again, it is the task of the visualization software to
produce a meaningful depiction of this derived data.
The aim of this paper is to introduce a new, freely available visualization software called
OVITO. Being a single integrated application it covers both the analysis and the visualization
of large-scale atomistic datasets produced by molecular dynamics/statics and Monte Carlo
simulation codes. Its name is an acronym for Open Visualization Tool, emphasizing that this
software has been designed with flexibility and extensibility in mind. With this paper we
Figure 1. Illustration of the processing pipeline architecture of the OVITO visualization software.
The labeled arrows denote the individual processing steps that are applied to the atomic data
‘flowing’ through the processing pipeline. The images depict the intermediate states. The final
data state is shown on screen, exported to a new data file or fed into an external renderer such as
POV-Ray [5] for publication-quality image output.
intend to make the scientific community acquainted with the capabilities of OVITO, which go
beyond those of established visualization software packages [1–4].
User demands on visualization tools go far beyond just displaying a large number of atomic
spheres in space. State-of-the-art visualization packages should be flexible enough—and
easy-to-use at the same time—to support the scientist in extracting the desired information
from the simulation data in an interactive manner. OVITO is one of the first freely available
programs that employs the powerful concept of a data processing pipeline to achieve this
goal. Its underlying idea is as follows: from a pool of available visualization and analysis
functions (building blocks) the user builds up a sequence of processing steps, which is applied
to the atomistic input data. Each processing step in this sequence modifies the data coming
from the previous step. The result of this processing pipeline is finally shown on the screen.
Figure 1 illustrates how a typical processing pipeline to visualize the grain boundaries of a
nanocrystalline microstructure might look in OVITO.
In contrast to a classical work-flow the pipeline concept allows one to alter the sequence
of operations at any time, i.e. OVITO works in a non-destructive way with the input data.
The user can change the parameters, the order of the processing steps or the input data
whenever needed and the system will immediately re-evaluate the processing steps and
update the resulting visualization display in realtime. Through intelligent data caching and
parallelization techniques this all happens with a minimum usage of memory and processing
resources.
The design of OVITO’s data model allows the user to associate an arbitrary number of
data fields with each atom. These fields include, for instance, the atomic coordinates, types,
velocities, energies, etc. The various processing steps introduced above operate on these data
fields and/or calculate new fields on output. Moreover, the user can—based on mathematical
expressions—define custom scalar, vector or tensor data fields for each atom. In the current
version, OVITO provides functions for the following tasks:
• Coloring atoms based on their type, selection state or any other per-atom value stored in
the input file or computed in the processing pipeline
• Transformation of atoms and the simulation cell
• Calculation and visualization of displacement vectors from the differences between two
states of the system
2
Modelling Simul. Mater. Sci. Eng. 18 (2010) 015012 A Stukowski
3. Additional features
3
Modelling Simul. Mater. Sci. Eng. 18 (2010) 015012 A Stukowski
Figure 2. Screenshot of the main window of OVITO. The window is divided into four viewports,
each displaying the atomic structure from different viewing directions. The panel on the right
allows the user to build up the processing pipeline and set the modification parameters.
from the console. Automated loading, batch processing and saving of simulation files allow
one to integrate OVITO into a user’s custom tool chain.
4. Case study
In this section we demonstrate some of OVITO’s capabilities with a case study. Let us assume
we want to study the microscopic deformation mechanisms of nanocrystalline palladium.
To this end, we have performed a MD simulation of a tensile test experiment. The three-
dimensional model structure being deformed is made up of 54 grains with an average size of
15 nm in a cubic simulation box with periodic boundary conditions. The simulated specimen
is shown in figure 3(a) and contains approximately 6.2 million atoms, a system size that is
handled by OVITO without difficulty on a standard consumer PC. Our MD simulation software
has periodically dumped all atomic positions to a sequence of output files during the straining
simulation.
The first thing to do is to make the grain boundaries of our bulk structure visible, as they
play a crucial role for the plasticity of nanocrystalline materials. This can be achieved by
performing a coordination analysis that determines the number of nearest neighbors of each
atom. Palladium has a face-centered cubic structure, i.e. fully coordinated lattice atoms in the
interior of the grains have exactly 12 nearest neighbors. Atoms, in contrast, that form the grain
boundaries are usually mis-coordinated, that is, their coordination number deviates from 12,
which gives us a simple criterion for filtering out grain boundary atoms.
To this end, we apply the Coordination Analysis operator to the input data. This operator
takes one parameter, the nearest-neighbor cutoff distance and calculates the number of bonds
of each atom. The results are stored in a new integer data field named Coordination. We
4
Modelling Simul. Mater. Sci. Eng. 18 (2010) 015012 A Stukowski
Figure 3. Case study of the analysis of a nanocrystalline Pd structure at 3% tensile strain. The
different stages of the study are discussed in the text.
now delete all fully coordinated atoms by first selecting them with the Select by Expression
operator. This operator takes a Boolean expression that is evaluated for each atom. We set
this expression to be ‘Coordination == 12’. Afterwards, all selected atoms are removed by
the Delete Selected Atoms operator. Note that the atoms are not completely lost if we apply
this operator. The delete operator only removes them from the final state of the system shown
on the screen. We have the freedom to deactivate the delete operator again or to change any
parameter of the preceding operators. OVITO will always re-evaluate the processing pipeline
if needed.
Figure 3(b) shows the current state of the system after bulk crystalline atoms have been
removed. The remaining mis-coordinated atoms form a grain boundary structure, but it is
hardly visible due to the identical coloring of all atoms. This is a common visualization
problem found for three-dimensional atomic structures. OVITO provides a remedy: the
Ambient Lighting operator performs a lighting simulation to calculate a shading value for
each atom, which makes the three-dimensional structure more apparent. Figure 3(c) displays
the shaded grain boundaries. The screenshot (figure 2) shows OVITO’s user interface at this
point of the case study. The current processing pipeline can be found in the upper right part
of the main window.
Next, we want to take a closer look at grain boundary sliding, a plastic deformation
mechanism that is found in nanocrystalline materials in addition to classical dislocation glide.
When grain boundary sliding occurs, whole grains slide over each other to accommodate
the macroscopic strain imposed on the sample. The sliding of complete grains at, say, 3%
tensile strain can be made visible by calculating the displacement vectors of each atom. A
displacement vector is the difference between the current deformed position of an atom and
its initial position in the unstrained state. The Calculate Displacements operator performs
this calculation by taking the differences between two atomic data files. The displacements
calculated by the operator are stored for each atom in a new vector data field named
5
Modelling Simul. Mater. Sci. Eng. 18 (2010) 015012 A Stukowski
Displacement. Since we are only interested in the relative motion of neighboring grains,
and not in displacements caused by the overall macroscopic strain, we first have to remove the
macroscopic strain from the simulation box before calculating the displacement vectors. This
is done by scaling the deformed simulation box, including all atomic positions, back to its initial
shape using the Affine Transformation operator. Its key parameter is a 3 x 3 transformation
matrix that is applied to all atomic positions.
The calculated displacement vectors are now ready for visualization. A first option is to
color each atom according to one component of its displacement vector. If the vectors in one
grain all point in the same direction, and in a neighboring grain they all point in the opposite
direction, then sliding must have occurred at the grain boundary and will appear as a sharp
contrast in the coloring of atoms. This can be seen in figure 3(d) where atoms have been
shaded according to the Y component of the displacement vectors (tensile axis was Z). Here,
we have used the Slice operator to cut out a slice from the structure, followed by the Color
Coding operator, which assigns colors (or shades of gray) to each atom based on the values of
an arbitrary atomic data field.
Alternatively, OVITO can directly visualize the displacement vectors as arrows.
Figure 3(e) displays a close-up view of a grain boundary with arrows indicating the relative
motion of atoms in the adjacent grains.
5. Availability
To make OVITO available to as many researchers as possible it has been released as open-
source software under the GNU General Public License. Thus, OVITO can be used free of
charge, everyone can contribute to the software, extend it to his own needs and share newly
developed plug-ins with other users. The C++ source code of OVITO can be downloaded from
the website http://ovito.sourceforge.net/.
Acknowledgments
References
[1] Sayle R A and Milner-White E J 1995 Rasmol: biomolecular graphics for all Trends Biochem. Sci.
20 374–6
[2] Li J 2003 Atomeye: an efficient atomistic configuration viewer Modelling Simul. Mater. Sci. Eng.
11 173–7 http://mt.seas.upenn.edu/Archive/Graphics/A/
[3] Humphrey W, Dalke A and Schulten K 1996 VMD—Visual Molecular Dynamics J. Mol. Graph. 14 33–8
http://www.ks.uiuc.edu/Research/vmd/
[4] Avizo® visualization software (VSG, Visualization Science Group)
[5] Persistence of Vision Pty. Ltd. Persistence of vision raytracer (version 3.6) [computer software]. Retrieved from
http://www.povray.org/
[6] Tarini M, Cignoni P and Montani C 2006 Ambient occlusion and edge cueing for enhancing real time molecular
visualization IEEE Trans. Vis. Comput. Graph. 12 1237–44
[7] Honeycutt J D and Andersen H C 1987 Molecular dynamics study of melting and freezing of small Lennard–
Jones clusters J. Phys. Chem. 91 4950–63
[8] Ackland G J and Jones A P 2006 Applications of local crystal structure measures in experiment and simulation
Phys. Rev. B 73 054104
6
Modelling Simul. Mater. Sci. Eng. 18 (2010) 015012 A Stukowski
[9] Stukowski A, Markmann J, Weissmüller J and Albe K 2008 Atomistic origin of microstrain broadening in
diffraction data of nanocrystalline solids Acta Mater. 57 1648–54
[10] Shimzu F, Ogata S and Li J 2007 Theory of shear banding in metallic glasses and molecular dynamics calculations
Mater. Trans. 48 2923–7
[11] Unofficial XYZ file format specification http://en.wikipedia.org/wiki/XYZ file format
[12] Plimpton S 1995 Fast parallel algorithms for short-range molecular dynamics J. Comput. Phys. 117 1 Software
available at http://lammps.sandia.gov/
[13] Stadler J, Mikulla R and Trebin H-R 1997 IMD: a software package for molecular dynamics studies on parallel
computers Int. J. Mod. Phys. C 8 1131–40
[14] Kresse G and Furthmüller J 1996 Efficient iterative schemes for ab initio total-energy calculations using a
plane-wave basis set Phys. Rev. B 54 11169
[15] Van Rossum G Python language website http://www.povray.org/