pymatgen.io.exciting package

This package contains classes to parse input files from the exciting code package.

Submodules

pymatgen.io.exciting.inputs module

Classes for reading/manipulating/writing exciting input files.

class ExcitingInput(structure: Structure, title=None, lockxyz=None)[source]

Bases: MSONable

Object for representing the data stored in the structure part of the exciting input.

structure[source]

Associated Structure.

Type:

Structure

title[source]

Optional title string.

Type:

str

lockxyz[source]

Lockxyz attribute for each site if available. A Nx3 array of booleans.

Type:

numpy.ndarray

Parameters:
  • structure (Structure) – Structure object.

  • title (str) – Optional title for exciting input. Defaults to unit cell formula of structure. Defaults to None.

  • lockxyz (Nx3 array) – bool values for selective dynamics, where N is number of sites. Defaults to None.

bohr2ang = 0.5291692998219677[source]
classmethod from_file(filename: str | Path) Self[source]
Parameters:

filename – Filename.

Returns:

ExcitingInput

classmethod from_str(data: str) Self[source]

Reads the exciting input from a string.

property lockxyz[source]

Selective dynamics site properties.

write_etree(celltype, cartesian=False, bandstr=False, symprec: float = 0.4, angle_tolerance=5, **kwargs)[source]

Write the exciting input parameters to an XML object.

Parameters:
  • celltype (str) – Choice of unit cell. Can be either the unit cell from self.structure (“unchanged”), the conventional cell (“conventional”), or the primitive unit cell (“primitive”).

  • cartesian (bool) – Whether the atomic positions are provided in Cartesian or unit-cell coordinates. Default is False.

  • bandstr (bool) – Whether the bandstructure path along the HighSymmKpath is included in the input file. Only supported if the celltype is set to “primitive”. Default is False.

  • symprec (float) – Tolerance for the symmetry finding. Default is 0.4.

  • angle_tolerance (float) – Angle tolerance for the symmetry finding.

  • 5. (Default is)

  • **kwargs – Additional parameters for the input file.

Returns:

ET.Element containing the input XML structure

write_file(celltype, filename, cartesian=False, bandstr=False, symprec: float = 0.4, angle_tolerance=5, **kwargs)[source]

Write exciting input file.

Parameters:
  • celltype (str) – Choice of unit cell. Can be either the unit cell

  • self.structure (from)

  • ("conventional") ("primitive")

  • cell (or the primitive unit)

  • filename (str) – Filename for exciting input.

  • cartesian (bool) – Whether the atomic positions are provided in

  • False. (celltype is set to "primitive". Default is)

  • bandstr (bool) – Whether the bandstructure path along the

  • the (HighSymmKpath is included in the input file. Only supported if)

  • False.

  • symprec (float) – Tolerance for the symmetry finding. Default is 0.4.

  • angle_tolerance (float) – Angle tolerance for the symmetry finding.

  • 5. (Default is)

  • **kwargs – Additional parameters for the input file.

write_string(celltype, cartesian=False, bandstr=False, symprec: float = 0.4, angle_tolerance=5, **kwargs)[source]

Write exciting input.xml as a string.

Parameters:
  • celltype (str) – Choice of unit cell. Can be either the unit cell

  • self.structure (from)

  • ("conventional") ("primitive")

  • cell (or the primitive unit)

  • cartesian (bool) – Whether the atomic positions are provided in

  • False. (celltype is set to "primitive". Default is)

  • bandstr (bool) – Whether the bandstructure path along the

  • the (HighSymmKpath is included in the input file. Only supported if)

  • False.

  • symprec (float) – Tolerance for the symmetry finding. Default is 0.4.

  • angle_tolerance (float) – Angle tolerance for the symmetry finding.

  • 5. (Default is)

  • **kwargs – Additional parameters for the input file.

Returns:

String