|
|
**INFO**
|
|
|
|
|
|
|
|
|
Material classification according to known structure types (prototypes).
|
|
|
|
|
|
The program reads the calculation data and classifies their structures by prototypes
|
|
|
on the basis of the **space_group** and **normalized_wyckoff**, and adds labels to the calculations.
|
|
|
|
|
|
Delivered metadata is called `prototype_label` (as defined in `public.nomad-metainfo.json`) and is defined by space group number and occupation of normalized wyckoff positions.
|
|
|
|
|
|
For crystal structure classification based on prototypes a functions `get_normalized_wyckoff` and `get_structure_type` are defined in `https://gitlab.mpcdf.mpg.de/nomad-lab/normalizer-prototypes/blob/master/normalizer/normalizer-prototypes/classify4me_prototypes.py`. The later function take as argument space group and normalized wyckoff positions and returns the information on the prototype.
|
|
|
|
|
|
|
|
|
**Testing**
|
|
|
|
|
|
For testing the normalized **prototypes classification** one shall run `classify4m_prototypes.py` code and give as an argument the structure taken from api/resolve:
|
|
|
|
|
|
|
|
|
https://analytics-toolkit.nomad-coe.eu/api/resolve/NcC8TDWGWCtQLhWeB2a1N8y9Q7y4r/Cx_ur73_FOgMaVin27w-dT6nh3dvN/section_run/section_system/0c?format=recursiveJson
|
|
|
|
|
|
The program classifies the material on the basis of **prototypes** (stored in `structure_types.py` that can be imported from nomadcore in python-common). The output of the code for examplar cases is presented below:
|
|
|
|
|
|
command:
|
|
|
|
|
|
`python classify4me_prototypes.py < example.inp`
|
|
|
|
|
|
INPUT:
|
|
|
```
|
|
|
{
|
|
|
"type": "nomad_section_2_0",
|
|
|
"name": "section_system",
|
|
|
"gIndex": 0,
|
|
|
"uri": "nmd://NcC8TDWGWCtQLhWeB2a1N8y9Q7y4r/Cx_ur73_FOgMaVin27w-dT6nh3dvN/section_run/0c/section_system/0c",
|
|
|
"atom_labels": [{"flatData":["In"],"shape":[1]}],
|
|
|
"atom_positions": [{"flatData":[0.0,0.0,0.0],"shape":[1,3]}],
|
|
|
"configuration_periodic_dimensions": [{"flatData":[true,true,true],"shape":[3]}],
|
|
|
"simulation_cell": {"flatData":[-1.83172656E-10,1.83172656E-10,1.83172656E-10,1.83172656E-10,-1.83172656E-10,1.83172656E-10,1.83172656E-10,1.83172656E-10,-1.83172656E-10],"shape":[3,3]}
|
|
|
}
|
|
|
```
|
|
|
|
|
|
OUTPUT:
|
|
|
```
|
|
|
{
|
|
|
"event":"openContext",
|
|
|
"nomadUri":"nmd://NcC8TDWGWCtQLhWeB2a1N8y9Q7y4r/Cx_ur73_FOgMaVin27w-dT6nh3dvN/section_run/0c/section_system/0c"
|
|
|
}, {
|
|
|
"event":"addValue",
|
|
|
"gIndex":-1,
|
|
|
"metaName":"prototype_label",
|
|
|
"value":"229-W-cI2"
|
|
|
}, {
|
|
|
"event":"closeContext",
|
|
|
"nomadUri":"nmd://NcC8TDWGWCtQLhWeB2a1N8y9Q7y4r/Cx_ur73_FOgMaVin27w-dT6nh3dvN/section_run/0c/section_system/0c"
|
|
|
}
|
|
|
``` |
|
|
\ No newline at end of file |