Exporting structures to TCOD

Export of StructureData and CifData (or any other data type, which can be converted to them) to the Theoretical Crystallography Open Database (TCOD) can be divided into following workflow steps:

No. Description Input Output Type Implemented?
0 Conversion of the StructureData to CifData StructureData CifData   Inline +
1 Detection of the symmetry and reduction to the unit cell CifData CifData   Inline +
2 Niggli reduction of the unit cell CifData CifData   Inline —
3 Addition of structure properties (total energy, residual forces) CifData, Dict CifData   Inline PW and CP
4 Addition of the metadata for reproduction of the results CifData CifData   Inline ~
5 Depostition to the TCOD CifData Dict Job +    

Type of each step’s calculation (CalcFunctionNode or CalcJobNode) defined in column Type. Each step is described in more detail below:

  • Conversion of the StructureData to CifData
    Conversion between the StructureData and CifData is done via ASE atoms object.
  • Detection of the symmetry and reduction to the unit cell
    Detection of the symmetry and reduction to the unit cell is performed using spglib.refine_cell() function.
  • Niggli reduction of the unit cell
    Reduction of the unit cell to Niggli cell is a nice to have feature, as it would allow to represent structure as an unambiguously selected unit cell.
  • Addition of structure properties (energy, remaining forces)
    The structure properties from the calculations, such as total energy and residual forces can be extracted from Dict nodes and put into related TCOD CIF dictionaries tags using calculation-specific parameter translator, derived from BaseTcodtranslator.
  • Addition of the metadata for reproduction of the results
    Current metadata, added for reproducibility, includes scripts for re-running of calculations, outputs from the calculations and exported subset of AiiDA database. It’s not quite clear what/how to record the metadata for calculations of type CalcFunctionNode.
  • Depostition to the TCOD
    Deposition of the final CifData to the TCOD is performed using cif_cod_deposit script from the codtools plugin.