Version history

Development version (22-Sep-17):

The current development version is an early preview of the next 3.0 major release of OVITO. Significant changes have been made under the hood to OVITO's data model and data pipeline architecture. Due to these changes, unfortunately, it will not be possible to load .ovito state files created with older OVITO versions! Note that the user documentation has not been updated yet to reflect all changes, some of which are listed below. Even though the program hasn't changed much on the surface, significant parts of the main code have been rewritten. Please report any issues that may have been introduced. Don't use this development release for production work.

  • Thanks to a complete redesign of the data pipeline system, modifiers can now access the entire input trajectory, making it possible to implement temporal analyses that operate not just on instantaneous simulation snapshots. A first, simple example is the new Interpolate trajectory modifier, which can interpolate particle positions between simulation frames to create smooth looking animations from coarse sequences of simulation snapshots.
  • Furthermore, modifiers such as Atomic strain, Displacement vectors and Wigner-Seitz defect analysis can now use frame 0 of the currently loaded simulation sequence as reference configuration. It is no longer necessary to load the reference configuration from a separate input file.
  • Several modifier have been generalized and can now operate on other forms of data in addition to particles, e.g. bonds and their properties. Examples are the Assign color, Invert selection, Select Type, Histogram, Scatter plot, Replicate and Delete selected modifiers.
  • The Python programming interface has been redesigned and extended. See this page for more information.
  • Surface meshes, dislocation networks and voxel data grids now carry their own periodic domain information with them. Changing the master simulation cell size no longer screws up the display of these data types.
  • The LAMMPS binary dump file reader automatically detects the endianess used in the file. It can now parse files written on IBM BlueGene/Q machines, for example.
  • The Correlation function modifier now exports radial distribution function and structure factor as extra columns to a text file.
  • A VTK file writer has been added, which can export surface triangle meshes produced by the Construct surface mesh and Create Isosurface modifiers.
  • The ovitos script interpreter now accepts (and silently ignores) the -u command line option of CPython for better compatibility with pip install scripts that use this option.

Release 2.9.0 (27-Jul-17):

  • Added the --nthreads command line option to ovitos as an alternative to -nt (issue #35).
  • Brought back missing stderr output from calls to sys.exit() in ovitos interpreter.
  • Extended the Particle Inspection utility to allow expression-based selection of particles in addition to picking them using the mouse (issue #19).
  • Added a bond-based mode to the Cluster Analysis modifier. It allows forming clusters based on the bond network topology.
  • The OVITO main window now accepts data files and .ovito files via drag & drop (issue #28).
  • Extended the Load Trajectory modifier to also copy other varying particle properties in addition to the particle positions (issue #29).
  • The particle indices displayed by the Particle Inspection utility are now zero-based, consistent with the ParticleIndex variable used by the Expression Selection modifier (issue #21).
  • Added the new 'Relative face area' threshold parameter to the Voronoi analysis modifier, which allows filtering out small faces with an area below a specified fraction of the total Voronoi cell surface area (issue #7).
  • Added file parsers for the CASTEP .cell, .geom and .md simulation file formats.
  • Replaced the 'eliminate homogeneous deformation' option of the Displacement Vectors modifier with the more general affine mapping setting.
  • On macOS, data files and .ovito files can now be associated with OVTIO and directly opened from the Finder (issue #22).
  • Added the FileSource.loaded_file attribute, which allows accessing the filename of the currently loaded simulation file from a Python script.
  • New modifier: The Voronoi Topology Analysis modifier can classify the Voronoi polyhedra of particles, e.g. to perform structural filtering. 
  • New modifier: The Correlation Function modifier has been contributed by Lars Pastewka. It allows computing the spatial correlation between two particle properties.
  • Bug fix: LAMMPS data file parser ignored Bonds section at end of file when number of bonds is zero
  • New modifier: The Create Isosurface modifier allows to visualize field quantities like the electron density that are defined on a structured data grid. So far, only the POSCAR file parser has been extended to read charge density data from CHGCAR files, which can serve as input for the isosurface modifier. 
  • New modifier: The Coordination Polyhedra modifier constructs convex hulls from the bonded neighbours of atoms. 
  • Bug fix: Unexpected error message during file export when the old mapping for the output file columns has become invalid.
  • Added the 'Adjust range (all frames)' function to the Color Coding modifier, which takes into account all frames of the animation sequence when determining the min/max values of the input property.
  • Added a new user option to the Affine Transformation modifier that enables the transformation of vectorial particle properties like Force and velocity together with the particle positions (issue #11).
  • Bug fix: Need to pass /exit option to Windows version of POV-Ray to automatically close message window after rendering is done (issue #16).
  • Bug fix: Assertion error in Ambient Occlusion modifier when modifier input is empty.
  • The ovito Python module is now usable from external Python interpreters as well, not only ovitos
  • Complete overhaul of the internals of the asynchronous data pipeline framework; many improvements to the code. 
  • Dropped backward compatibility with Qt library versions less than 5.4.
  • Bug fix: Parser error when reading a LAMMPS file containing very small numbers on the order of 1e-200 (issue #12). 
  • Bug fix: Windows version always appends .pov to expected file names (issue #13).
  • Bug fix: Create trajectories function does not use correct number of frames from input sequence (issue #6).
  • Added support for omnidirectional stereoscopic rendering to the POV-Ray renderer plugin. This allows producing 360 degrees VR movies (requires POV-Ray 3.7.1).
  • The required system library libstdc++.so.6 is no longer bundled with the Linux version of OVITO, because it causes conflicts with OpenGL drivers on some systems.
  • Reading multi-frame GSD files that contain static data now works correctly.
  • Bug fix: Program crash during parallel access to NetCDF files. Calls to NetCDF library functions are now serialized, because they are not thread-safe.

Release 2.8.2 (24-Jan-17):

  • The Histogram modifier can now compute the distribution of bond properties too (e.g. bond lengths).
  • Modifiers now report an out-of-memory condition. Ovito no longer crashes when a memory allocation fails during modifier evaluation.
  • Fixed viewport rendering and other issues for simulation datasets with a very small length scale (~10-11).
  • Added Python bindings for particle trajectory line generation and visualization.

Release 2.8.1 (17-Dec-16):

  • Bug fix: Segmentation fault after applying a Color Coding modifier with Viridis color map to particle data containing NaN values.
  • Bug fix: Segmentation fault when closing Scatter Plot editor panel.
  • Bug fix: Compute Property modifier failed with an error when preceded by a Dislocation Analysis (DXA) modifier, due to expression variable names containing invalid characters.
  • Added read/write support for LAMMPS data files with atom_style sphere.
  • Added the NearestNeighborFinder.find_at() Python method for querying the nearest particle(s) around an arbitrary spatial position.
  • Added a detailed usage example to the scripting documentation of the WignerSeitzAnalysisModifier to demonstrate the identification of specific point defect types, e.g. antisites.
  • Bug fix: Viewport.render() Python method failed in GUI mode with an error.
  • Bug fix: FileSource.load() Python method failed when called with keyword arguments.
  • Bug fix: Serial computations performed by the data pipeline occupy two processor cores instead of one.  
  • Bug fix: A custom modifier script function, raising an exception and running as part of a data pipeline within ovitos, produced assertion error.
  • Bug fix: Cyclic reference between DataSet and ScriptEngine classes led to a potential memory leak when using Python script modifiers or viewport overlays within a script executed by ovitos.
  • MacOS version of OVITO is now distributed as a signed application bundle in the form of a DMG disk image (avoids "unidentified developer" warning message on first start). 
  • Disabled geometry shaders by default for AMD/ATI hardware on Windows due to compatibility problems reported by some users.
  • Python modifier and Python viewport overlay scripts can now be edited in a separate code editor window.

Release 2.8.0 (23-Nov-16):

  • Added the POV-Ray rendering backend and the POV-Ray scene file exporter.
  • Fully transparent, invisible particles are no longer sent to the Tachyon renderer to avoid artifacts.
  • Replaced QCustomPlot component with QwtPlot component for graph plotting within the GUI.
  • Replaced Boost.Python with pybind11 library to implement OVITO's Python bindings.
  • The DXA modifier now outputs attributes for the computed line lengths which are broken down by dislocation type.
  • Bug fix: Segmentation fault in Color Coding modifier when input particle property contains infinite values.
  • Fixed an issue with the Freeze Property modifier, which didn't attach a display object to vector properties.
  • The "Fusion" UI theme is now explicitly activated on Linux. Older builds of OVITO used the "Windows" theme for some reason.
  • Bug fix: Atomic strain calculation failed for 2d simulation cells with zero length along Z.
  • The Linux binaries are now built with the gcc 5.1 compiler.
  • Bug fix: Identify diamond structure modifier did not output the structure counts as global attributes.
  • Removed restriction of LAMMPS binary dump file reader to less than 200k atoms.
  • Added a command line option to the ovitos program, which gives users control over the number of parallel threads used by OVITO.
  • Added depth-of-field rendering to the Tachyon renderer.
  • OVITO can now color dislocation lines based on their Burgers vectors (only BCC crystals so far). Before, coloring was possible only on the basis of dislocation type or dislocation character.
  • Added the 'Generate perfect dislocations' option to the DXA modifier, which suppresses the identification of partial dislocations.
  • Improved I/O performance of the LAMMPS data file reader when reading bonds information.
  • Made PDB file reader compatible with files generated by the Gromacs trjconv tool.
  • Extended the Color Coding modifier to support the coloring of vector arrows (in addition to particles and bonds).
  • Bug fix: If the Compute Property modifier is used to create a vector property, the display settings for vector arrows are no longer lost every time the modifier is re-evaluated.
  • The Text Label and Color Legend viewport overlays can now draw an outline around text to make it easier to read on all backgrounds.
  • Disabled some strict conformance checks in the SSH module to improve compatibility with some SSH servers.
  • Bug fix: Viewport.render() Python function raised a Boost.Python.ArgumentError when being called in GUI mode.
  • Bug fix: NetCDF file parser did not recognize unwrapped particle coordinates in files written by LAMMPS.
  • Raised the threshold values for the automatic selection of particle rendering quality. High quality mode is now being used for <4,000 particles, medium mode for <400,000 particles, and low quality mode for everything above.
  • OVITO now ships with the matplotlib Python module. This makes it possible to integrate custom data plots into images or movies rendered by OVITO.
  • Bug fix: Unicode characters are now correctly rendered by the Color Legend viewport overlay.
  • Added Python interface for the FreezePropertyModifier.
  • Added two additional colormaps to the Color Coding modifier: Magma and Viridis.
  • Added a 'Combine particle sets' modifier, which allows merging two datasets into one.
  • Added GSD (General Simulation Data) file reader for HOOMD-blue simulation files.
  • Bug fix: Inserting a modifier while scanning an XYZ/LAMMPS input file to discover simulation frames may crash program.
  • The 'ovitos' interactive interpreter now creates/loads a separate IPython profile named 'ovito' instead of the 'default' profile. This reduces inteference with an existing IPython installation on the same system.
  • Workaround: Exporting denormalized floating-point numbers to an output file crashes program due to bug in Boost.Karma library.
  • Regression: Compatibility with high-resolution displays (Retina/Mac OS)
  • Regression: OpenGL rendering does not work in console mode on Windows
  • NetCDF reader now accepts files where particle data is stored in a subgroup named 'AMBER'.

Release 2.7.1 (28-Aug-16):

  • Integrated IPython in Linux and Mac OS builds of OVITO.
  • Small bug fix in Animation Settings dialog: Changing the frame rate made the time slider jump.
  • Updated the NetCDF file reader to make it compatible with files written by the SimPARTIX code.
  • Updated the VTK file reader to accept empty lines in the header.
  • Updated the IMD file reader, which did not correctly map file columns to standard particle properties with vector components.
  • Updated the CFG file reader to accept empty lines preceding the first header line.
  • Updated the PDB file reader to parse molecule identifiers and types.
  • Added the ParticleTypeProperty.get_type_by_id() and get_type_by_name() methods to the Python interface.
  • Added the DislocationSegment.spatial_burgers_vector property to the Python interface.
  • Added a confirmation message before resetting the URL history list in the SSH connection dialog.

Release 2.7.0 (25-Jul-16):

  • Bug fix: Program crashed when entering a non-valid text into a numeric input field.
  • Added OpenGL driver-bug workaround to fix high-quality rendering of particles on Linux/Intel graphics systems.
  • Improved visual appearance of large number of semi-transparent particles in images generated by the Tachyon renderer.
  • Fixed a bug in the line coarsening routine of the DXA modifier.
  • Periodic image shift vectors of bonds are now accessible from Python scripts.
  • The Atomic Strain calculation modifier can now perform a polar decomposition F=RU of the deformation gradient into a rotation and stretch tensor. 
  • Added a 'Use only selected particles' option to the Histogram and Bin and Reduce modifiers, which lets you to restrict the calculation to a subset of particles.
  • Extended the Color Coding modifier so that it can also operate on bonds instead of particles.
  • Added the Compute Bond Lengths modifier, which can be used in conjunction with the Color Coding modifier to color bonds according to their length.
  • Added the Text Label viewport overlay, which provides an easy way of inserting a text label into rendered images and movies. The text can contain placeholders which are replaced with quantities computed by OVITO.
  • Added a text file export function, which allows exporting scalar quantities computed by OVITO to a tabular text file as functions of simulation time. 
  • OVITO can now load XDATCAR trajectory files written by Vasp.
  • Added the Polyhedral Template Matching modifier, which can robustly identify lattice structures at high temperature. 
  • The LAMMPS dump file exporter now writes out the simulation timestep number read from an input dump file to the file header instead of the animation frame.
  • Added the Load Trajectory modifier, which allows loading datasets that consist of separate topology and trajectory files (e.g. a LAMMPS data file with bond definitions and a LAMMPS dump file with atom trajectories).
  • The pair-wise cutoff mode of the Create Bonds modifier is now usable from Python.
  • Improved visual quality of particle display for very distant and small (sub-pixel) particles.
  • Added a 'lower cutoff' parameter to the Create Bonds modifier.
  • Scene files that refer to external data file in the same directory can now be transferred to another computer without breaking the link. 
  • Documented the CA dislocation file format in the user manual. This makes it possible to export the extracted dislocation lines and process/analyze them outside of OVITO. 
  • Fixed a bug in the Create Bonds modifier, which produced wrong results when all pair-wise cutoffs were set to values smaller than 1.0.
  • OVITO no longer depends on the CGAL library, making it easier to build it from source.
  • The CA dislocation file importer now supports multi-tilmestep files.
  • Fixed a bug in the Show Periodic Images modifier, which did not replicate bond properties.
  • The behavior of the ovito.io.import_file() Python function has been changed. It no longer adds the created node to the scene, and it is now okay to call this function repeatedly. It also accepts wildcard filenames now to import file sequences. See the updated Python documentation for details.
  • The ovito.io.export_file() Python function now gives full control over which animation frames are being exported.
  • Fixed bug in the Coordination Analysis modifier, which prevented the RDF calculation for 2D systems.

Release 2.6.2 (19-Mar-16):

  • Updated the built-in SSH client to support more encryption methods and improve compatibility with some SSH servers.
  • Small bug fix that solves a (rare) problem with the display of dislocation lines in periodic systems.
  • For very small, periodic simulation cells the Elastic Strain Calculation modifier silently failed for diamond crystals. Now the user is informed that the Show Periodic Images modifier should be applied first to extend the box size.
  • Fixed output of animated GIF files on Linux.
  • Reduced memory footprint of the DXA analysis modifier.
  • The Slice modifier now also cuts surface meshes generated by the Construct Surface Mesh modifier and dislocation lines generated by the DXA analysis modifier.
  • Introduced basic support for 2D systems. The 2D flag can be set in the simulation cell properties panel. The Atomic Strain and Coordination Analysis modifiers then perform the computation in 2D (i.e. the XY plane). 
  • Key-value pairs read from extended XYZ file headers and the LAMMPS timestep number are now accessible from Python via the new DataCollection.attributes property.
  • Added the 'Number of bins' parameter to the Coordination Analysis modifier, allowing the user to control the resolution of the generated RDF histogram.
  • Errors generated by Python scripts that are run via the 'Run script file' function are now displayed in the GUI.
  • Re-added the 'Every nth frame' field to the Render Settings panel, which allows rendering only a subset of animation frames.
  • Fixed import of 'Aspherical Shape' particle property values from a file.
  • The export_file() script function can now produce multi-timestep files.
  • Improved automatic detection of PDB files and added parsing of bonds defined by CONECT records.
  • Fixed bug in Elastic Strain Calculation modifier, which got stuck in infinite loop when applied to some complex polycrystalline structures.
  • Moving the viewport camera no longer stops animation playback.
  • Added the 'Vector Color' particle property, which allows changing the display color of vector arrows on a per-particle basis.
  • Bug fix: The Create Bonds modifier reported the number of half-bonds, not the number of full bonds generated.
  • Regression: Restricting the Compute Property modifier to selected particles did not work correctly; existing values for unselected particles were always reset to zero.
  • Added the CA file exporter, which allows saving DXA analysis results to disk (and load them again at a later time).

Release 2.6.1 (15-Nov-15):

  • Arrows can now be centered on particles, e.g. to visualize magnetic moments and other vector properties. Atomic force vectors and dipole vectors read from simulation files can now be directly visualized.
  • The Tachyon renderer now supports transparent backgrounds.
  • The Color Legend and Coordinate Tripod viewport overlays can now be repositioned with the mouse.
  • Display objects that are generated by modifiers no longer temporarily disappear from the pipeline editor list while playing an animation. 
  • The PDB file parser now accepts lines with up to 83 characters to support files written by Accelrys Discovery Studio.
  • Fixed regression in CA file importer, which is broken in previous release.

Release 2.6.0 (02-Nov-15):

  • Added the <a+c> dislocation type for HCP crystals to the Dislocation Analysis modifier.
  • Added the Elastic Strain Calculation modifier, which computes the atomic-level elastic strain and deformation gradient tensors in crystalline systems. It can be used to analyze local elastic distortions in a crystal lattice and to determine the local crystal orientation.
  • The modification pipeline editor now allows changing the application order of modifiers via drag and drop.
  • Added the Dislocation Inspection utility, which lets you obtain further information about dislocation segments extracted by the Dislocation Analysis modifier.
  • Added an introduction to OVITO's animation system to the manual, which explains how to animate parameters and the camera.
  • The Compute Property modifier can now perform computations that take into account the local neighborhood of particles. For example, you can use this to average a quantity over spherical regions around each particle.
  • The Wigner-Seitz analysis modifier can now break down the computed site occupancy number into per-type numbers. This makes it easier to identify antisite defects, for example.
  • Viewports are no longer automatically zoomed to show everything when replacing the currently loaded dataset with a new one. This makes it easier to preserve the current view configuration when switching to a different simulation file.
  • Fixed the assignment of dislocation lines that were loaded from a CrystalAnalysis file to Burgers vectors families. The CA file import was broken since version 2.4.4.
  • Added a 'bond-based' mode to the Common Neighbor Analysis modifier, which computes the CNA indices based on existing bonds between particles. The modifier also outputs the computed CNA bond indices as a new bond property. This enables, for example, analyses of disordered systems using the classical CNA.
  • It is now possible to write you own modifiers in Python.
  • Added a 'Use only selected particles' option to the Common Neighbor Analysis and the Identify Diamond Structure modifiers, which allows identifying sub-lattices.
  • Added the NearestNeighborFinder Python class, which can be used from Python scripts to find the N nearest neighbors of a particle.
  • Python scripts can now access the dislocation lines extracted by the DislocationAnalysisModifier
  • Bug fix: Bond properties like the bond type are now updated when dangling bonds are removed due to deleted particles.
  • Fixed bug in Atomic Strain modifier, which produced weird results when PBC flags of reference configuration do not match PBC flags of deformed configuration. Now PBC flags of deformed configuration always override the boundary conditions of the reference simulation cell.
  • Fixed error in ovito.dataset.scene_nodes.__iter__() Python method.
  • Fixed bug in file parser that led to wrong particle type names when loading a multi-frame XYZ file with varying set of named atom types.
  • Bug fixes in Python-ASE interface - Cell matrix is transposed and duplicate properties are handled.

Release 2.5.1 (07-Aug-15):

  • The LAMMPS data file exporter can now produce files with LAMMPS atom styles other than 'atomic'. It also exports bonds if present.
  • Arbitrary triclinic simulation cells can now be exported to the LAMMPS data file format. They will be automatically transformed to the canonical LAMMPS representation.
  • The LAMMPS data file parser now reads bond types.
  • Added the fmod(A,B) math function to the Compute Property and Expression Select modifiers.
  • Added visualization support for cylindrical and spherocylindrical particles.
  • Added a file parser for FHI-aims log files, which can contain multiple simulation frames.
  • Added the 'Indicate line direction' option to the dislocation display object.

Release 2.5.0 (25-Jul-15):

  • Added Python interface for Bin and Reduce modifier.
  • Fixed viewport font issue on Macs with high-dpi display.
  • Added the Expand Selection modifier.
  • Added a 'No bonds between different molecules' option to the Create Bonds modifier.
  • Changed the behavior of the IMD file exporter: All particle properties to be exported, including the standard ones defined by the IMD format, must now be explicitly selected by the user.
  • Integrated DXA (Dislocation Extraction Algorithm) into OVITO. 
  • Voronoi analysis modifier can now output bonds between neighboring atoms which share a Voronoi face.
  • Python scripting interface now allows conversion to/from ASE Atoms objects.
  • Python scripting interface now supports write access to particle properties and procedural generation of input particle datasets for OVITO's modification pipeline.
  • Bug fix: Large number of simultaneous SFTP download requests led to error message 'SFTP error: Server could not start session'.
  • Bug fix: Using the Python viewport overlay led to program crash on Windows 8 x64.
  • Scripting function Viewport.render() now returns the rendered image, which can be manipulated before saving it to disk.
  • Certain modifier and display parameters can now be animated using animation keys.
  • Fixed OpenGL rendering of bonds/arrows on certain Windows/NVidia systems.
  • Added import/export support for FHI-aims file format.
  • Colors and radii used for particle types (as well as structure types) can now be predefined by the user.
  • Migrated to version 5.4 of the Qt library. This may affect OpenGL rendering and the viewport display. Please report any issues that you experience.
  • Bin & Reduce modifier now takes into account the simulation box origin, uses double precision numbers to perform calculations, and 1D-plot now spans the entire interval.
  • Bug fix: NetCDF file importer doesn't close file handle, leading to error after loading several thousand frames.
  • Bug fix: LAMMPS data file parser stumbles over 'AngleTorsion Coeffs' file section.
  • Visualization of particle trajectory lines.
  • Frequently used modifiers or combinations of modifiers can be saved (including modifier settings) for quick access. 
  • Rendering of ellipsoidal and box particles with orientation.
  • Positioning the mouse over a bond shows its properties in the status bar.
  • Fixed initialization of the Select Particle Type modifier.
  • Fixed error when loading a compressed simulation file >2GB.

Release 2.4.4 (29-Mar-15):

  • Fixed error when rendering a high-resolution video.
  • Surface mesh computed by ConstructSurfaceModifier can now be exported to a VTK file from Python.
  • Added Python class ovito.data.CutoffNeighborFinder, which enables access to particle neighbor lists from Python.
  • Particles and bonds are now rendered in chunks in the OpenGL viewports to work around a memory limit on some graphics hardware.
  • Bond cylinders are now rendered using a geometry shader if supported by the graphics card.
  • The IMD file exporter now lets the user select the particle properties to export (instead of exporting all).
  • The VTK triangle mesh importer now reads per-face color information.

Release 2.4.3 (02-Mar-15):

  • Upgraded integrated script interpreter from Python 2.7 to Python 3.4. Please update your scripts to make them compatible with Python 3.
  • Added rendering support for particles with non-cubic, axis-aligned box shape (via 'Aspherical shape' particle property)
  • Added a dialog box to the Affine Transformation modifier, which lets the user enter a rotation axis, angle, and center.
  • Removed cutoff option from Voronoi Analysis modifier in favour of a faster algorithm for orthogonal simulation cells, which is based on Voro++ container classes.
  • The Voronoi Analysis modifier now determines the maximum number of edges per face in the Voronoi tessellation and warns if it exceeds the truncation length of computed Voronoi index vectors.
  • OVITO can now load bonds from LAMMPS data files.
  • The Freeze Property modifier now works when particles are lost during the simulation.
  • Similarly, the Atomic Strain analysis can now deal with simulations where the number of particles is not constant.
  • The Wrap at Periodic Boundaries modifier now wraps bonds crossing a periodic boundary.
  • Added a scriptable viewport overlay, which allows to paint custom text and graphics over the rendered image. See how you can use it to add a scale bar to a viewport.
  • The Show Periodic Images modifier now replicates bonds too.
  • The XYZ file import now displays the file's comment line in the status field.
  • Switched from MinGW to Visual C++ 2013 compiler to build Windows version. Python scripting is now supported by the 64-bit program version for Windows too.
  • Removed old Javascript plugin.
  • Bug fix: --version command line option causes program to crash.
  • Bug fix: XYZ file column mapping dialog showed the column names from the last loaded extended XYZ file.

Release 2.4.2 (14-Nov-14):

  • The Color Coding modifier now supports user-defined color maps.
  • Significantly improved performance of cutoff-based neighbor finding and k-nearest neighbor search routines. This code optimization speeds up many analysis algorithms in OVITO, in particular for large datasets.
  • Added the Identify Diamond Structure analysis function, which finds atoms that form a cubic or hexagonal diamond lattice.
  • Dialog box asking to save changes is only shown when scene has already been saved before.
  • The Color Legend overlay now provides an option to overwrite the numeric labels with a custom text.
  • Bug fix: Periodic boundary flags were not correctly updated when loading a new file using the 'Pick new local input file' button.
  • Bug fix: Viewport.render() Python function raised error when called without a RenderSettings object.

Release 2.4.1 (01-Nov-14):

  • New integrated Python engine, which provides a powerful scripting interface (see scripting documentation). This is going to replace the Javascript engine, which has been deprecated and will be removed in a future program version. Command line options to run old scripts have been renamed to --jsscript and --jsexec.
  • New Voronoi analysis modifier, which can compute atomic volumes, coordination numbers and Voronoi indices.
  • It's now possible to include the coordinate system tripod and a color legend in the rendered image.
  • Particle properties are displayed in the status bar when hovering over particles in the viewports.
  • Periodic boundary conditions can be overridden by the user without the changes being lost when a new simulation frame is loaded.
  • Added import/export support for extended XYZ format (see http://jrkermode.co.uk/quippy/io.html#extendedxyz), which includes metadata describing the data columns and the simulation cell.
  • Improved input and output performance for text-based file formats.
  • The OpenGL renderer can now display semi-transparent particles and surfaces.
  • Added calculation of non-affine displacements to Atomic strain modifier. (This is Falk & Langer's D2min measure, see the 1998 PRB.)
  • New Bin and reduce analysis modifier.
  • The Create bonds modifier can now handle particles that are located outside a (periodic) simulation box.
  • The Color coding modifier can display a color legend in the rendered image.
  • Added a file parser for PDB files (still experimental).
  • Added basic keyframe animation support. Some modifier parameters and other settings can now be animated. Future versions will also offer camera animation capabilities.
  • The Show periodic images modifier can now assign unique IDs to particle copies.
  • LAMMPS data file parser now supports additional LAMMPS atom styles such as 'charge' and 'bond'.
  • Fixed high-quality particle rendering on Windows computers with Intel HD 4000 graphics.
  • Bug fix: Export of compressed LAMMPS data files could result in truncated files.
  • Bug fix: Solid volume computed by 'Construct surface mesh' modifier could be inaccurate due to low numerical precision
  • Bug fix: 'Construct surface mesh' modifier crashed with certain input data.
  • Bug fix: VTK mesh file parser couldn't handle multiple points per line (as written by ParaView).
  • Bug fix: LAMMPS data file parser did not parse atom IDs.
  • Bug fix: Particle inspection utility did not recalculate displayed distances and angles upon simulation frame change.
  • Bug fix: StrainTensor.XZ and StrainTensor.YZ components output by Atomic Strain modifier were swapped.
  • Bug fix: Fixed issue in Histogram modifier that occured when the x-range was fixed to an interval smaller than the value range.
  • Bug fix: Atom type ordering is now maintained when importing a sequence of LAMMPS dump files with named atom types.

Release 2.3.3 (22-May-14):

  • Added user options to application settings dialog that provide control over certain OpenGL-related settings. This allows working around compatibility problems on some systems.
  • User can now choose between a dark and a light viewport color scheme.
  • Added scripting interface for Tachyon renderer.
  • Added support for NetCDF files with variable particle numbers and with named particle types.
  • Added user options that control the automatic fetching of the news page from the web server and the transmission of the installation ID.
  • Fixed bug in camera orbit mode, which was not correctly restricting the camera rotation for some coordinate system orientations.

Release 2.3.2 (07-Apr-14):

  • Fixed bug in Wigner-Seitz analysis modifier, which could cause a program crash when numbers of atoms in reference and current configuration differ.

Release 2.3.1 (01-Apr-14):

  • Added saving and loading of presets for file-column-to-property mappings.
  • Added the --exec command line option, which allows to directly execute a script command or to pass parameters to a script file.
  • When opening an XYZ file, the column mapping dialog now displays an excerpt from the file's header to help the user figure out the mapping.
  • The Construct Surface Modifier no longer creates cap polygons if the periodic simulation cell contains no particles.

Release 2.3.0 (29-Mar-14):

  • Added the new scripting interface, which allows to automate tasks.
  • Added the 'Freeze property' modifier, which can prevent a particle property from changing over time.
  • Added the 'Scatter plot' modifier, which plots one particle property against another. This modifier has been contributed by Lars Pastewka.
  • Added the 'Wigner-Seitz analysis' modifier, which can identify vacancies and interstitials in a lattice.
  • Added a file importer for NetCDF files. Code was contributed by Lars Pastewka.
  • Added more input variables to the 'Compute property' and 'Expression select' modifiers (e.g. reduced particle coordinates and simulation cell size).
  • It's now possible to load a sequence of files with each file containing multiple frames.
  • Fixed bug in CFG file importer, which did not read triclinic simulation cells correctly.
  • Fixed shader compilation error on OpenGL 2.0 systems and some other OpenGL related issues.

Release 2.2.4 (29-Jan-14):

  • Fixed particle picking issue on computers with Intel graphics.
  • Fixed OpenGL display issues on systems with Intel graphics.
  • Fixed blurred viewport captions.
  • Fixed program crash when changing particle radius/color without having selected a particle type first.

Release 2.2.3 (16-Jan-14):

  • Fixed the CFG file importer, which can now read CFG files written by newer versions of LAMMPS correctly. Auxiliary file columns are automatically mapped to OVITO's standard particle properties if possible.
  • Modified particle file importers to ensure stable ordering of particle types (using lexicographical ordering when atom types have names, and ID-based ordering otherwise). The ordering of named particle types is now independent of their first occurrence in the input file.
  • Improved compatibility with some OpenGL implementations (Intel HD graphics on Windows and ATI Mobility Radeon HD 5470).
  • A 64-bit version of the program is now available for Windows.
  • A construction grid can be displayed in the viewports.

Release 2.2.2 (05-Jan-14):

  • Fixed the following regression: Rendering a video with OVITO 2.2.1 resulted in an empty movie file.
  • Fixed display of the polygon path when using Fence selection (Manual Selection modifier).

Release 2.2.1 (26-Dec-13):

  • Added a file parser for binary LAMMPS dump files.
  • Added a dialog window that displays information about the system's OpenGL graphics driver. This dialog can be accessed via the Help menu.
  • Fixed bug in the Expression Select and Compute Property modifiers, which couldn't handle particle property names that start with a number.
  • The OpenGL compatibility profile is now used instead of the core profile on Windows and Linux platforms.
  • Fixed an issue in the Construct Surface Mesh modifier, which sometimes led to a program crash on Windows.

Release 2.2.0 (15-Dec-13):

  • The Construct Surface Mesh modifier has been added, which builds a polygonal mesh around a particle set.
  • The Cluster Analysis modifier has been added, which decomposes a particle system into clusters.
  • A new experimental visualization module has been added, which allows working with data generated by the Crystal Analysis Tool and the Dislocation Extraction Algorithm (DXA).
  • The Coordination Analysis modifier can now export the computed radial distribution function to a text file. 
  • Added a new user option to the application settings dialog that allows turning off the restriction of the vertical camera rotation.
  • Added the File->New Window menu item, which opens another OVITO window. This makes life easier on the Mac OS platform, where starting multiple instances of the application is difficult.
  • The XYZ file exporter now writes particle type names instead of numeric type identifiers.
  • Added help buttons to parameter panels, which open the corresponding page in the user manual.
  • The manual is now included in every installation package. An internet connection is no longer necessary to access the manual.
  • Fixed the rendering of particle markers.

Release 2.1.0 (15-Nov-13):

  • The Manual Selection modifier has been added, which allows selecting individual particles with the mouse in the viewports. With the "Fence selection" mode, a group of particles can be easily selected by drawing a closed path around it.
  • OVITO is now able to display particles with cubic and square shape. This can be useful in visualizing large 2d lattice systems or Ising models.
  • OVITO now gives the user the option to import more than one dataset into the same scene and display them side by side.
  • A newly added VTK file importer allows reading triangle meshes to visualize geometric objects such as an indentor tip.
  • Camera objects can be created through the viewport context menu. A viewport can be linked to a camera object to show the corresponding view.
  • The OpenGL rendering code has been updated to better support older graphics cards and to improve compatibility with more graphics drivers.
  • The Tachyon renderer now supports semi-transparent particles. The transparency is controlled through the "Transparency" particle property. Use, for instance, the Computer Property modifier to set this property for certain particles. Transparency values can range from 0 (=fully opaque) to 1 (=not visible). Note that the interactive OpenGL renderer does not support transparency yet. Thus, all particles will still appear fully opaque here.
  • When importing a sequence of simulation snapshots, one can now configure the mapping of input frames to OVITO's internal animation frames. This allows to generate output movies with fewer (or more) frames than the imported snapshot sequence. This feature is in preparation for a future camera animation system.
  • The Mac OS version is now built against version 5.2 (beta) of the Qt library. This should fix a nasty UI bug on this platform (due to the old version of that library), which made text fields lose input focus.
  • Fixed saving/loading of the gradient type selected in the Color Coding modifier.
  • Fixed a program deadlock when dragging the time slider with the mouse after loading a file sequence from a remote location.

Release 2.0.3 (22-Oct-13):

  • Ported Tachyon raytracing renderer from old OVITO 1.1.0 release. This software-based rendering engine allows to produce images with high-quality shading and ambient occlusion lighting.
  • The Create Bonds modifier will automatically turn off the display of bonds when (accidentally?) creating a large number of bonds (>1 million), which would make the program freeze for at least several seconds.
  • The Displacement Vectors modifier now supports relative reference frames, i.e., displacements can be calculated from two snapshots separated by a fixed time interval. Before this addition, the modifier could only compute displacements with respect to a fixed reference simulation snapshot.
  • The Inspect Particle applet now lets one select multiple particles and can report distances and angles between particles.
  • Added 'Clear history' button to remote file import dialog.
  • The POSCAR file exporter now writes the new file format, which includes atom type names.
  • Added support for computers with high-resolution (Retina) displays.
  • Fixed bug in the Affine Transformation modifier leading to recursive updates.

Release 2.0.2 (30-Sep-13):

  • Fixed loading of multi-timestep files with names containing a digit.
  • Fixed import of CFG file with atom type information.

Release 2.0.1 (27-Sep-13):

  • Fixed loading of file sequences based on wildcard pattern on Windows platform.
  • Replaced const arrays in GLSL shaders with uniform variables to support older Intel graphics chips.

Release 2.0.0 (25-Sep-13):

  • Many changes, almost complete rewrite of OVITO's code base.