ASE interface

“The Atomic Simulation Environment (ASE) is a set of tools and Python modules for setting up, manipulating, running, visualizing and analyzing atomistic simulations. The PLAMS interface to ASE is limited to handling Molecule objects. It features access to the ase.io module for reading/writing Molecule objects and two functions that translate PLAMS Molecule objects into ASE Atoms objects and vice versa (see readase() and writease()).

Please refer to the ASE documentation to see what can be done with ASE Atoms and its I/O module.

toASE(molecule, set_atomic_charges=False)[source]

Convert a PLAMS Molecule to an ASE molecule (ase.Atoms instance). Translate coordinates, atomic numbers, and lattice vectors (if present). The order of atoms is preserved.

set_atomic_charges: bool

If True, set_initial_charges() will be called with the average atomic charge (taken from molecule.properties.charge). The purpose is to preserve the total charge, not to set any reasonable initial charges.

Parameters:
Return type:

ASEAtoms

fromASE(molecule, properties=None, set_charge=False)[source]

Convert an ASE molecule to a PLAMS Molecule. Translate coordinates, atomic numbers, and lattice vectors (if present). The order of atoms is preserved.

Pass a Settings instance through the properties option to inherit them to the returned molecule.

Parameters:
  • molecule (ASEAtoms) –

  • properties (Settings | None) –

  • set_charge (bool) –

Return type:

Molecule