Skip to content

atomli.atoms

Generated from the public Python surface of Atomli 0.1.4.

Atoms(symbols=None, positions=None, cell=None, pbc=None, charge=0.0, unpaired=0)

Section titled “Atoms(symbols=None, positions=None, cell=None, pbc=None, charge=0.0, unpaired=0)”

A collection of atoms. ASE method surface (properties via Python).

Center atoms (in place). Optional vacuum in angstrom along axes.

vacuum: Vacuum padding in angstrom, or None. axis: Which axes to center; True/False or length-3 sequence.

The cell, as ASE returns it: detached, but geometry-aware.

ASE’s get_cell returns an ase.cell.Cell, not a bare array, and code relies on it — ase.filters.FrechetCellFilter calls get_cell() and then asks for .volume. complete=True fills zero vectors with unit normals, matching ASE.

Center of mass in angstrom, shape (3,).

Hill-system chemical formula string (e.g. "H2O").

Distance between two atoms in angstrom.

a0: First atom index. a1: Second atom index. mic: Use minimum-image convention when True.

get_forces(self, /, apply_constraint=True, md=False)

Section titled “get_forces(self, /, apply_constraint=True, md=False)”

Momenta as mass times ASE velocity units, shape (n, 3).

Numerically identical to ASE Atoms.get_momenta().

get_potential_energy(self, /, force_consistent=False, apply_constraint=True)

Section titled “get_potential_energy(self, /, force_consistent=False, apply_constraint=True)”

Fractional (scaled) positions, shape (n, 3). Needs a cell.

wrap: Wrap into the cell along the periodic directions. ASE defaults to True, so atomli does too: without it a periodic structure silently reports coordinates outside [0, 1).

get_stress(self, /, voigt=True, apply_constraint=True, include_ideal_gas=False)

Section titled “get_stress(self, /, voigt=True, apply_constraint=True, include_ideal_gas=False)”

Integer tags per atom, shape (n,).

Unit-cell volume in angstrom^3.

Matches ASE: with fewer than three lattice vectors the volume is not defined and this raises ValueError. Returning zero instead would turn the error into a silent division by zero downstream.

set_cell(self, /, cell, scale_atoms=False, *, pbc=None)

Section titled “set_cell(self, /, cell, scale_atoms=False, *, pbc=None)”

set_initial_magnetic_moments(self, /, moments)

Section titled “set_initial_magnetic_moments(self, /, moments)”

Set ASE-compatible momenta; updates velocities.

Set fractional positions (requires a cell).

Replace integer tags (length n).

Wrap positions into the unit cell (in place). Needs PBC cell.