Skip to content
Merged
Show file tree
Hide file tree
Changes from 7 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions example/job.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
{
"status": "pre-submission",
"mode": "normal",
"_material": {
"...": "include(job/_material.json)"
},
"_materials": [
{
"...": "include(job/_material.json)"
}
],
"compute": {
"...": "include(job/compute.json)"
},
Expand Down
8 changes: 8 additions & 0 deletions example/material/fingerprint.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"primary": {
"...": "include(fingerprint/primary.json)"
},
"secondary": {
"...": "include(characteristic.json)"
}
}
85 changes: 85 additions & 0 deletions example/material/fingerprint/primary.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
{
"localEnvironment": {
"...": "include(primary/element_specific.json)"
},
"representation": {
"description": "structure representation.",
"$ref": "file:primary/compound_specific.json"
},
"valenceOrbitalOccupancy": {
"description": "s, p, d, and f orbital contribution to total valence electrons in the material ",
"$ref": "file:primary/compound_specific_array.json"
},
"elementSpinState": {
"type": "element-specific",
"subtype": "nominal",
"category": "electronic",
"elements": [
{
"name": "Si",
"value": "high"
},
{
"name": "O",
"value": "low"
}
]
},
"pNorm": {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pNorms

"type": "compound-specific",
"subtype": "numeric",
"category": "stoichiometric",
"data": [
{
"name": "p03",
"value": 0.693
},
{
"name": "p05",
"value": 0.671
},
{
"name": "p07",
"value": 0.667
},
{
"name": "p09",
"value": 0.667
}
]
},
"elementalComposition": {
"type": "element-specific",
"subtype": "numeric",
"category": "stoichiometric",
"elements": [
{
"name": "Si",
"value": 0.33
},
{
"name": "O",
"value": 0.66
}
]
},
"equilibrium": {
"type": "compound-specific",
"subtype": "nominal",
"category": "structural",
"value": "No"
},
"materialType": {
"type": "compound-specific",
"subtype": "nominal",
"category": "structural",
"value": "crystal"
},
"avgAtomVolume": {
"type": "compound-specific",
"subtype": "numeric",
"category": "structural",
"value": 0.039,
"units": "1/Ang^3"
}
}
20 changes: 20 additions & 0 deletions example/material/fingerprint/primary/_compound_data.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"data": [
{
"name": "s",
"value": 0.325
},
{
"name": "p",
"value": 0.625
},
{
"name": "d",
"value": 0.0
},
{
"name": "f",
"value": 0.0
}
]
}
12 changes: 12 additions & 0 deletions example/material/fingerprint/primary/_element_data.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"elements": [
{
"name": "Si",
"value": "O"
},
{
"name": "O",
"value": "X"
}
]
}
5 changes: 5 additions & 0 deletions example/material/fingerprint/primary/_primary.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"type": "compound-specific",
"subtype": "nominal",
"category": "structural"
}
4 changes: 4 additions & 0 deletions example/material/fingerprint/primary/compound_specific.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"...": "include(_primary.json)",
"value": "supercell"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"type": "compound-specific",
"subtype": "numeric",
"category": "electronic",
"...": "include(_compound_data.json)"
}
6 changes: 6 additions & 0 deletions example/material/fingerprint/primary/element_specific.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"type": "element-specific",
"subtype": "nominal",
"category": "chemical",
"...": "include(_element_data.json)"
}
3 changes: 3 additions & 0 deletions example/material/structure/elements.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to discuss regarding elements schema.

Elements schema is to store elemental properties for a specific element. If I include atomic_data in elements json, I unnecessarily store the ids of the elements.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK

"...": "include(atomic_data.json)"
}
2 changes: 1 addition & 1 deletion example/material/structure/lattice_bravais.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "lattice_bravais",
"type": "CUB",
"name": "lattice_bravais",
"a": 5.14,
"b": 5.14,
"c": 5.14,
Expand Down
7 changes: 5 additions & 2 deletions schema/job.json
Original file line number Diff line number Diff line change
Expand Up @@ -73,9 +73,12 @@
"description": "Subset of the full information about the project that this job belongs to. Included for quick access in search.",
"$ref": "file:job/_project.json"
},
"_material": {
"_materials": {
"description": "Subset of the full information about the materials used inside this job.",
"$ref": "file:job/_material.json"
"type": "array",
"items": {
"$ref": "file:job/_material.json"
}
},
"version": {
"description": "Job's schema version. Used to distinct between different schemas.",
Expand Down
19 changes: 19 additions & 0 deletions schema/material/fingerprint.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "material fingerprint schema",
"description": "collection of descriptors with information about materials structure, composition and characteristics required for performing advanced ML tasks",
"properties": {
"primary": {
"description": "descriptors related to structure, stoichiometry and physical reference data of materials. Calculated on-the-fly ",
"$ref": "file:fingerprint/primary.json"
},
"secondary": {
"description": "descriptors related to characteristics from simulations and/or experiments",
"$ref": "file:characteristic.json"
}
},
"required": [
"primary",
"secondary"
]
}
43 changes: 43 additions & 0 deletions schema/material/fingerprint/primary.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "primary descriptors schema",
"description": "collection of stoichiometric, structural, physical, electronic and chemical",
"properties": {
"localEnvironment": {
"description": "atom type each element is bonded to",
"$ref": "file:primary/element_specific.json"
},
"elementSpinState": {
"description": "Spin state of each element. Spin state depends on oxidation state and electronic configuration. ",
"$ref": "file:primary/element_specific.json"
},
"valenceOrbitalOccupancy": {
"description": "contribution from s, p, d, and f of unique elements to total valence electrons in the material ",
"$ref": "file:primary/compound_specific_array.json"
},
"pNorm": {
"description": "values calculated using L-p norm upto p-dimensions",
"$ref": "file:primary/compound_specific_array.json"
},
"elementalComposition": {
"description": "elemental composition of the compound",
"$ref": "file:primary/element_specific.json"
},
"representation": {
"description": "structure representation.",
"$ref": "file:primary/compound_specific.json"
},
"equilibrium": {
"description": "Identifies a equilibrium structure.",
"$ref": "file:primary/compound_specific.json"
},
"materialType": {
"description": "structure representation.",
"$ref": "file:primary/compound_specific.json"
},
"avgAtomVolume": {
"description": "structure representation.",
"$ref": "file:primary/compound_specific.json"
}
}
}
29 changes: 29 additions & 0 deletions schema/material/fingerprint/primary/_compound_data.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "compound-specific descriptor array elements schema",
"description": "for p-norms and valence_orbital occupancy",
"properties": {
"name": {
"oneOf": [
{
"description": "p-norms. Upto p99 allowed. Eg: p3",
"type": "string",
"pattern": "p[0-9]{2}"
},
{
"description": "valence orbital occupancy - https://www.nature.com/article-assets/npg/npjcompumats/2016/npjcompumats201628/extref/npjcompumats201628-s1.pdf",
"type": "string",
"enum": [
"s",
"p",
"d",
"f"
]
}
]
},
"value": {
"type": "number"
}
}
}
40 changes: 40 additions & 0 deletions schema/material/fingerprint/primary/_element_data.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "element-specific descriptors data schema",
"description": "element symbol and corresponding values.",
"properties": {
"name": {
"description": "element symbol. Eg: Si",
"type": "string"
},
"value": {
"oneOf": [
{
"description": "elemental composition",
"type": "number"
},
{
"description": "element_spin_states. high and low spin states correspond to states with max number of unpaired electrons with same spin and maximum number of paired spins respectively.",
"type": "string",
"enum": [
"high",
"intermediate",
"low"
]
},
{
"description": "local environemnt. atom symbol to which element is bonded to. X means non-bonded or bonded to any atom other than the ones in the list",
"type": "string",
"enum": [
"H",
"O",
"S",
"F",
"Cl",
"X"
]
}
]
}
}
}
32 changes: 32 additions & 0 deletions schema/material/fingerprint/primary/_primary.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "primary descriptor category schema",
"description": "type/subtype each primary descriptor belongs to",
"properties": {
"type": {
"type": "string",
"enum": [
"element-specific",
"compound-specific"
]
},
"subtype": {
"description": "type of descriptor, whether it is a number or category",
"type": "string",
"enum": [
"numeric",
"nominal",
"ordinal"
]
},
"category": {
"type": "string",
"enum": [
"chemical",
"stoichiometric",
"structural",
"electronic"
]
}
}
}
Loading