aiida_quantumespresso.workflows.functions.get_xspectra_structures

aiida_quantumespresso.workflows.functions.get_xspectra_structures#

CalcFunction to analyse the symmetry properties of a crystal structure and its atomic sites.

Returns a supercell with a marked absorbing atom for each symmetrically non-equivalent site in the system.

Module Contents#

Functions#

get_xspectra_structures(structure, **kwargs)

Read a StructureData object using spglib for its symmetry data and return structures for XSpectra calculations.

aiida_quantumespresso.workflows.functions.get_xspectra_structures.get_xspectra_structures(structure, **kwargs)[source]#

Read a StructureData object using spglib for its symmetry data and return structures for XSpectra calculations.

Takes an incoming StructureData node and prepares structures suitable for calculation with xspectra.x. The basic criteria for a suitable structure is for the cell parameters to be sufficiently large to reduce spurious interactions between localised core-holes in neighbouring periodic images and for one atomic site to be marked as the absorbing atom site.

The default setting for the cell size is 8.0 angstrom, which can be changed by including ‘supercell_min_parameter’ as a Float node in the keyword arguments. Accepted keyword arguments are:

  • abs_atom_marker: a Str node defining the name of the absorbing atom Kind. The

    absorbing Kind will be labelled ‘X’ if no input is given.

  • supercell_min_parameter: a Float node defining the minimum cell length in

    angstrom for the resulting supercell, and thus all output structures. The default value of 8.0 angstrom will be used if no input is given. Setting this value to 0.0 will instruct the CF to not scale up the input structure.

  • standardize_structure: a Bool object defining if the input structure should

    standardized using spglib. The input structure will be standardized if no input is given, or if the crystal system is triclinic.

  • absorbing_elements_list: a List object defining the list of elements to consider

    when producing structures. All elements in the structure will be considered if no input is given.

  • is_molecule_input: a Bool object to define for the function that the input structure is

    a molecule and not a periodic solid system. Required in order to instruct the CF to use Pymatgen rather than spglib to determine the symmetry. The CF will assume the structure to be a periodic solid if no input is given.

  • use_element_types: a Bool object to indicate that symmetry analysis should consider all

    sites of the same element to be equal and ignore any special Kind names from the parent structure. For instance, use_element_types = True would consider sites for Kinds ‘Si’ and ‘Si1’ to be equivalent if both are sites containing silicon. Defaults to True.

  • spglib_settings: an optional Dict object containing overrides for the symmetry

    tolerance parameters used by spglib (symmprec, angle_tolerance).

  • pymatgen_settings: an optional Dict object containing overrides for the symmetry

    tolerance parameters used by Pymatgen when processing molecular systems (tolerance, eigen_tolerance, matrix_tolerance).

Parameters:

structure – the StructureData object to be analysed

Returns:

StructureData objects for the standardized crystal structure, the supercell, and all generated structure and associated symmetry data