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 install the ovito module in your own Python interpreter.


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))

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)