Export of :pyStructureData <aiida.orm.data.structure.StructureData>
and :pyCifData <aiida.orm.data.cif.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 |
:py |
:py |
Inline |
+ |
1 |
Detection of the symmetry and reduction to the unit cell |
:py |
:py |
Inline |
+ |
2 |
Niggli reduction of the unit cell |
:py |
:py |
Inline |
--- |
3 |
Addition of structure properties (total energy, residual forces) |
:py |
:py |
Inline |
PW and CP |
4 |
Addition of the metadata for reproduction of the results |
:py |
:py |
Inline |
~ |
5 | Depostition to the TCOD | :pyCifData <aiida.orm.data.cif.CifData> |
:pyParameterData <aiida.orm.data.parameter.ParameterData> |
Job | + |
Type of each step's calculation (:pyInlineCalculation <aiida.orm.implementation.general.calculation.inline.InlineCalculation>
or :pyJobCalculation <aiida.orm.implementation.general.calculation.job.AbstractJobCalculation>
) defined in column Type. Each step is described in more detail below:
- Conversion of the StructureData to CifData
Conversion between the :py
StructureData <aiida.orm.data.structure.StructureData>
and :pyCifData <aiida.orm.data.cif.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 :py
ParameterData <aiida.orm.data.parameter.ParameterData>
nodes and put into related TCOD CIF dictionaries tags using calculation-specific parameter translator, derived from :pyBaseTcodtranslator <aiida.tools.dbexporters.tcod_plugins.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 :py
InlineCalculation <aiida.orm.implementation.general.calculation.inline.InlineCalculation>
.
- Depostition to the TCOD
Deposition of the final :py
CifData <aiida.orm.data.cif.CifData>
to the TCOD is performed using cif_cod_deposit script from the codtools plugin.