# pymatgen.io.exciting.inputs module

Classes for reading/manipulating/writing exciting input files.

class ExcitingInput(structure, title=None, lockxyz=None)

  Bases: `monty.json.MSONable`

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

  structure

    Associated Structure.

  title

    Optional title string.

  lockxyz

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

  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
  static from_file(filename)
    Parameters

      filename – Filename

    Returns

      ExcitingInput

  static from_string(data)

    Reads the exciting input from a string

  property lockxyz

    Selective dynamics site properties.

    Type

      return

  write_etree(celltype, cartesian=False, bandstr=False, symprec=0.4, angle_tolerance=5, **kwargs)

    Writes the exciting input parameters to an xml object.

    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

      ET.Element containing the input XML structure

  write_file(celltype, filename, cartesian=False, bandstr=False, symprec=0.4, angle_tolerance=5, **kwargs)

    Writes 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=0.4, angle_tolerance=5, **kwargs)

    Writes 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