\(\renewcommand\AA{\text{Å}}\)
What’s new
Version 3.8.4 (03-May-23)
Fix: ffmpeg video encoding crashes on Windows if output path contains non-ascii characters
Silence console message “Numeric mode unsupported in the posix collation implementation” on Linux by enabling ICU support in Qt build
pro Fix: Segfault in PySide6 package initialization on Linux when adding a Python layer to a viewport
pro Fix: Interchanged xz/yz simulation box shear components in
lammps_to_ovito()
Python function
Version 3.8.3 (16-Apr-23)
Further improved performance of sequential loading of compressed trajectory files
Fixed regression (since v3.8.0):
Viewport.render_anim()
renders only first animation framepro Python exceptions raised in user-defined modifier functions are now propagated up the call chain to where the pipeline evaluation was triggered
pro Included
bz2
and sqlite3 standard modules, which were missing in embedded Python interpreter on Linux
Version 3.8.2 (04-Apr-23)
Implemented fast access to trajectory frames in compressed (gzipped) files
Fix: Segfault when using zoom function in viewport with an attached camera object
Fix: Segfault in Coordination polyhedra modifier on Linux
Fix: Function ‘load/save session state’ does not follow global working directory
Version 3.8.1 (27-Mar-23)
Identification of volumetric regions using the Gaussian density method pro
The Construct surface mesh modifier’s implementation of the Gaussian density method has been extended to support the identification of volumetric regions, e.g. pores, cavities, and filled spatial regions. Their respective surface areas and volumes are calculated and output by the modifier in tabulated form.
To make this possible, we have developed an extension to the Marching Cubes algorithm for isosurface construction, which provides the capability to identify disconnected spatial regions separated by the surface mesh and compute their enclosed volumes – of course with full support for periodic boundary conditions.


New efficient Python method for computing neighbor lists pro
OVITO’s Python interface now offers the new CutoffNeighborFinder.find_all()
method
for vectorized computation of neighbor lists for many or all particles at once.
Further changes:
LAMMPS data file reader: Accept ‘#’ in type names, which are referenced in data sections of the file
Version 3.8.0 (03-Mar-23)
Develop custom modifiers with extended capabilities pro
A newly devised programming interface enables you to write advanced modifier functions in Python that
access more than one frame of a simulation trajectory,
perform computations that involve data from several input files, or
need control over the caching of computational results.
Take simulation post-processing to the next level! Develop your own trajectory analysis algorithms in Python, which are fully integrated into OVITO’s pipeline system and the interactive interface of OVITO Pro.
class CalculateIncrementalDisplacementsModifier(ModifierInterface):
def modify(self, data, frame, input_slots, **kwargs):
next_frame = input_slots['upstream'].compute(frame + 1)
displacements = next_frame.particles.positions - data.particles.positions
Have a look at our completely revised introduction to user-defined modifiers and check out the new advanced programming interface for user-defined modifiers.
Improved color legends
OVITO can now render tick marks in color mapping legends to label intermediate values. Furthermore, the legend’s title may be rotated by 90 degrees:


File reader for ASE database files pro
Load atomic structures from database files of the Atomic Simulation Environment (ASE) into OVITO. The new file reader lets you scroll through all structures in a database or pick specific structures using a query string. Metadata associated with structures is made available in OVITO as global attributes.

New modifier: Identify fcc planar faults pro
Easily identify different planar defect types, such as stacking faults and coherent twin boundaries, in face-centered cubic (fcc) crystals. We have developed a powerful classification algorithm for hcp-like atoms that make up such planar defects:

New modifier: Render LAMMPS regions pro
Use this new tool to generate mesh-based representations of the parametric regions defined in your LAMMPS simulation, e.g., cylinders, spheres, or blocks, and visualize the boundaries of these spatial regions along with the particle model:

Spatial binning modifier: New unity input option pro
This options offers a shortcut for calculating particle density distributions, i.e. counting the particles per grid cell. Previous versions required first defining an auxiliary particle property with a uniform value of 1 to calculate the number density:

See Spatial binning modifier.
Support for LAMMPS dump grid files
OVITO can now read and visualize the new volumetric grid file format written by recent LAMMPS versions thanks to the newly added LAMMPS dump grid file reader:

Slice modifier on voxel grids
When you apply the Slice modifier to a voxel grid, cell values now get copied to the mesh faces and interpolated field values to the mesh vertices of the generated cross-section. This enables both discrete and interpolated visualizations of the field values along arbitrary planar cross-sections:


See Slice modifier and Voxel grids.
Support for point-based volumetric grids
In addition to the classical cell-based voxel grids, OVITO now also supports point-based volumetric grids, in which field values are associated with the grid points instead of the voxel cells. All functions in OVITO that operate on grids, e.g. the Create isosurface modifier, also support periodic and mixed boundary conditions.

See ovito.data.VoxelGrid.grid_type
and Gaussian Cube file reader.
Load Trajectory modifier now supports removal of particles
Previously, the Load trajectory modifier required the trajectory file to contain coordinates for all particles that were initially present in the topology dataset. The improved version of the modifier can now deal with particles disappearing in later frames of a trajectory, e.g., when particles get removed from the simulation over time.
Further additions and changes in this program release:
Added dark mode UI support for Linux platform.
Spatial correlation function modifier: Added support for 2d simulations.
Wrap at periodic boundaries modifier: Added support for 2d simulations.
Save and restore maximized state of main window across program sessions.
LAMMPS data file reader & writer: Added support for extended Velocities file section for when using LAMMPS atom styles electron, ellipsoid, or sphere.
LAMMPS data file writer: Added the option to renumber all particle/bond/angle/dihedral/improper types during export. Avoids conversion problems from 0-based type IDs loaded from GSD files.
New option to clip surfaces at open box boundaries (see
SurfaceMeshVis.clip_at_domain_boundaries
).Cluster analysis modifier: Abort calculation of center of mass and radius of gyration if masses of all input particles are zero.
pro Added user option that makes OVITO Pro import multiple files of the same kind as separate objects into the scene.
pro Accept
os.PathLike
objects in Python functionsimport_file()
andexport_file()
.pro
PropertyContainer.create_property
: Acceptdata
values that are broadcastable to shape of property array.
Previous versions
For a list of changes in previous version of OVITO, go to https://www.ovito.org/about/version-history/.