This module provides functions for interfacing with the ASE (Atomistic Simulation Environment). It contains two high-level functions for converting atomistic data back and forth between OVITO and ASE:


Using the functions of this module will raise an ImportError if the ASE package is not installed in the current Python interpreter. Note that the built-in Python interpreter of OVITO does not include the ASE package by default. You can install the ASE module by running ovitos -m pip install ase. Alternatively, you can build OVITO from source in order to use the OVITO module with your system’s standard Python interpreter.


Constructs an ASE Atoms object from the particle data in an OVITO DataCollection.


data_collection: The OVITO DataCollection to convert.


An ASE Atoms object containing the converted particle data from the source DataCollection.

Usage example:

from ovito.io import import_file
from ovito.io.ase import ovito_to_ase

# Create an OVITO data pipeline from an external file:
pipeline = import_file('input/simulation.dump')

# Evaluate pipeline to obtain a DataCollection:
data = pipeline.compute()

# Convert it to an ASE Atoms object:
ase_atoms = ovito_to_ase(data)

Converts an ASE Atoms object to an OVITO DataCollection.


atoms – The ASE Atoms object to be converted.


A new DataCollection containing the converted data.

Usage example:

from ovito.pipeline import StaticSource, Pipeline
from ovito.io.ase import ase_to_ovito
from ase.atoms import Atoms

# The ASE Atoms object to convert:
ase_atoms = Atoms('CO', positions=[(0, 0, 0), (0, 0, 1.1)])

# Convert the ASE object to an OVITO DataCollection:
data = ase_to_ovito(ase_atoms)

# We may now create a Pipeline object with a StaticSource and use the 
# converted dataset as input for a data pipeline:
pipeline = Pipeline(source = StaticSource(data = data))