Source code for schrodinger.application.matsci.aseutils

"""
Utility functions to deal with ASE IO.

Copyright Schrodinger, LLC. All rights reserved.
"""

from ase import Atoms

from schrodinger.application.matsci.nano import xtal


[docs]def get_ase_atoms(struct): """ Create an ASE Atoms object from a Schrodinger structure :param `schrodinger.structure.Structures` struct: The input structure :rtype: `ase.Atoms` :return: An `ase.Atoms` object representing the same structure as the input struct """ ase_atoms = Atoms(numbers=[x.atomic_number for x in struct.atom], positions=struct.getXYZ()) if xtal.sync_pbc2(struct): ase_atoms.set_pbc((True, True, True)) ase_atoms.set_cell(xtal.get_vectors_from_chorus(struct)) return ase_atoms